diff --git a/TEMA4/task.md b/TEMA4/task.md new file mode 100644 index 0000000..8081417 --- /dev/null +++ b/TEMA4/task.md @@ -0,0 +1,57 @@ +# Общее контрольное задание по теме 4 + +Степанищев Виктор, А-03-23 + +## Задание +Реализовать, записать в текстовый файл и проанализировать результаты последовательности ин-струкций, выполняющих следующие действия: + +• Напишите и исполните единое выражение, реализующее последовательное выполнение сле-дующих операций: вычисление фазы комплексного числа 0.2+0.8j, округление результата до двух знаков после запятой, умножение полученного значения на 20, получение кортежа из двух значений: округленное вниз значение от деления результата на 3 и остатка от этого деле-ния. + +• Создайте объект класса struct_time с временными параметрами для текущего московского времени. Создайте строку с текущим часом и минутами. + +• Создайте список с элементами – названиями дней недели. Сделайте случайную выборку из этого списка с тремя днями недели. + +• Напишите инструкцию случайного выбора числа из последовательности целых чисел от 14 до 32 с шагом 3. + +• Сгенерируйте нормально распределенное число N с математическим ожиданием 15 и стан-дартным отклонением 4 и округлите его до целого значения. Создайте список с N элементами – случайно выбранными буквами латинского алфавита. + +• Напишите инструкцию для определения временного интервала в минутах, прошедшего с мо-мента предыдущего (из п.2) определения временных параметров. + +## Решение + +```py +import cmath +import math +import time +import random +import string + +# 1 +first = round(cmath.phase(0.2+0.8j), 2) * 20 +print(divmod(math.floor(first), 3)) + +#2 +moscow_time = time.localtime() +string_with_time = f"{moscow_time.tm_hour}:{moscow_time.tm_min}" +print(string_with_time, type(moscow_time)) + +#3 +days_of_week = ['Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота', 'Воскресенье'] +print(random.sample(days_of_week, 3)) + +#4 +numbers = list(range(14, 32+1, 3)) +print(random.choice(numbers)) + +#5 +N = round(random.normalvariate(15, 4)) +print(N) +gen_list = random.choices(string.ascii_uppercase, k=N) +print(gen_list) + +#6 +current_time = time.time() +previous_time = time.mktime(moscow_time) +time_interval_minutes = (current_time - previous_time) / 60 +print(time_interval_minutes) +``` \ No newline at end of file