# Общее контрольное задание по теме 4 Коваленко Дмитрий, А-01-23 ## Задание • Напишите и исполните единое выражение, реализующее последовательное выполнение следующих операций: вычисление фазы комплексного числа `0.2+0.8j`, округление результата до двух знаков после запятой, умножение полученного значения на 20, получение кортежа из двух значений: округленное вниз значение от деления результата на 3 и остатка от этого деления.\ • Создайте объект класса struct_time с временными параметрами для текущего московского времени. Создайте строку с текущим часом и минутами.\ • Создайте список с элементами – названиями дней недели. Сделайте случайную выборку из этого списка с тремя днями недели. \ • Напишите инструкцию случайного выбора числа из последовательности целых чисел от 14 до 32 с шагом 3.\ • Сгенерируйте нормально распределенное число N с математическим ожиданием 15 и стандартным отклонением 4 и округлите его до целого значения. Создайте список с N элементами – случайно выбранными буквами латинского алфавита.\ • Напишите инструкцию для определения временного интервала в минутах, прошедшего с момента предыдущего (из п.2) определения временных параметров.\ ## Решение ```py from cmath import * from time import localtime, mktime from random import sample, choice, gauss from string import ascii_letters tuple(divmod(round(phase(0.2+0.8j), 2) * 20, 3)) now = localtime() nowStr = f'{now.tm_hour}:{now.tm_min}' days = ['Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб', 'Вс'] rDays = sample(days, 3) rNum = choice(range(14, 32, 3)) nNum = round(gauss(15, 4)) rLets = sample(list(ascii_letters), nNum) updNow = localtime() diff = (mktime(updNow) - mktime(now)) // 60 ```