3.2 KiB
Общее контрольное задание по теме 4
Степанищев Виктор, А-03-23
Задание
Реализовать, записать в текстовый файл и проанализировать результаты последовательности ин-струкций, выполняющих следующие действия:
• Напишите и исполните единое выражение, реализующее последовательное выполнение сле-дующих операций: вычисление фазы комплексного числа 0.2+0.8j, округление результата до двух знаков после запятой, умножение полученного значения на 20, получение кортежа из двух значений: округленное вниз значение от деления результата на 3 и остатка от этого деле-ния.
• Создайте объект класса struct_time с временными параметрами для текущего московского времени. Создайте строку с текущим часом и минутами.
• Создайте список с элементами – названиями дней недели. Сделайте случайную выборку из этого списка с тремя днями недели.
• Напишите инструкцию случайного выбора числа из последовательности целых чисел от 14 до 32 с шагом 3.
• Сгенерируйте нормально распределенное число N с математическим ожиданием 15 и стан-дартным отклонением 4 и округлите его до целого значения. Создайте список с N элементами – случайно выбранными буквами латинского алфавита.
• Напишите инструкцию для определения временного интервала в минутах, прошедшего с мо-мента предыдущего (из п.2) определения временных параметров.
Решение
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)