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

Коломейцев Дмитрий, А-02-23

## Задание

Реализовать, записать в текстовый файл и проанализировать результаты последовательности инструкций, выполняющих следующие действия:

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

## Решение

```py
# Punkt 1
import cmath
divmod(round(cmath.phase(0.2+0.8j),2)*20,3)
(8.0, 2.6000000000000014)

# Punkt 2
import time
Time = time.time()
Time
1760948732.7906492
type(Time)
<class 'float'>
MosTimeSeconds = Time + 3*60*60
MosTimeSeconds
1760959532.7906492
MosTime = time.gmtime(MosTimeSeconds)
MosTime
time.struct_time(tm_year=2025, tm_mon=10, tm_mday=20, tm_hour=11, tm_min=25, tm_sec=32, tm_wday=0, tm_yday=293, tm_isdst=0)
type(MosTime)
<class 'time.struct_time'>
print("Current time: {}:{}".format(MosTime.tm_hour, MosTime.tm_min))
Current time: 11:25

# Punkt 3
import random
Days = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]
random.sample(Days, 3)
['Friday', 'Saturday', 'Wednesday']

# Punkt 4
random.choice(range(14, 33, 3))
17

# Punkt 5
import math
N = math.floor(random.gauss(15, 4))
N
14

import string
letters = random.sample(string.ascii_letters, N)
letters
['w', 'S', 'v', 'W', 'z', 'F', 'R', 'e', 'u', 'B', 'l', 'X', 'A', 'y']

# Punkt 6
timeDiff = round(time.time() - time.mktime(localTime))
print(timeDiff // 60, "minutes and", timeDiff % 60, "seconds")
3 minutes and 27 seconds


current_time = time.time()+3*3600
time_seconds = round(current_time - MosTimeSeconds)
time_minutes = round(time_seconds / 60)

print("Время, прошедшее с 2 пункта: {}:{}".format(time_minutes, time_seconds%60))

Время, прошедшее с 2 пункта: 15:55
```