# Общее контрольное задание по теме 4

Добровольска Елизавета, А-02-23

## Задание

Реализовать, записать в текстовый файл и проанализировать результаты последовательности инструкций, выполняющих следующие действия:
    • Напишите и исполните единое выражение, реализующее последовательное выполнение следующих операций: вычисление фазы комплексного числа 0.2+0.8j, округление результата до двух знаков после запятой, умножение полученного значения на 20, получение кортежа из двух значений: округленное вниз значение от деления результата на 3 и остатка от этого деления. 
    • Создайте объект класса struct_time с временными параметрами для текущего московского времени. Создайте строку с текущим часом и минутами.
    • Создайте список с элементами – названиями дней недели. Сделайте случайную выборку из этого списка с тремя днями недели. 
    • Напишите инструкцию случайного выбора числа из последовательности целых чисел от 14 до 32 с шагом 3.
    • Сгенерируйте нормально распределенное число N с математическим ожиданием 15 и стандартным отклонением 4 и округлите его до целого значения. Создайте список с N элементами – случайно выбранными буквами латинского алфавита.
    • Напишите инструкцию для определения временного интервала в минутах, прошедшего с момента предыдущего (из п.2) определения временных параметров.

## Решение

```py
import math
>>>divmod((round(cmath.phase(0.2+0.8j), 2))*20, 3)
(8.0, 2.6000000000000014)
>>>divmod(math.floor((round(cmath.phase(0.2+0.8j), 2))*20), 3) #Для получения остатка в целом виде и делении целых чисел, можно использовать такое выражение.
(8, 2)
>>>p2 = time.gmtime(time.time() + 3 * 3600)
>>>p2
time.struct_time(tm_year=2025, tm_mon=10, tm_mday=20, tm_hour=10, tm_min=29, tm_sec=40, tm_wday=0, tm_yday=293, tm_isdst=0)
>>>st = p2.tm_hour, p2.tm_min
>>>st = str(v.tm_hour)+" hour "+str(v.tm_min)+" min "
>>>st
'14 hour 3 min '
>>>ned = ["пн", "вт", "ср", "чт", "пт", "сб", "вскр"]
>>>random.sample(ned, 3)
['пн', 'вскр', 'вт']
>>>random.choice(list(range(14, 33, 3)))
20
>>>N = round(random.gauss(15, 4))
>>>N
15
>>>import string #Импортировали модуль в котором есть латинский алфавит, чтобы из него выбрать буквы. Без использования этого модуля создавать список с алфавитом нужно было бы вручную.
>>>random.sample(string.ascii_letters, N)
['M', 'J', 'X', 'H', 'R', 'D', 'V', 'U', 'c', 'g', 'l', 'k', 'm', 't', 'w']
>>>p3 = time.gmtime(time.time() + 3 * 3600);math.floor(((p3.tm_hour*3600+p3.tm_min*60+p3.tm_sec)-(p2.tm_hour*3600+p2.tm_min*60+p2.tm_sec))/60)
2
```