Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

3.6 KiB

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

Голощапов Дмитрий, А-01-23

Задание

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

• Напишите и исполните единое выражение, реализующее последовательное выполнение следующих операций: вычисление фазы комплексного числа 0.2+0.8j, округление результата до двух знаков после запятой, умножение полученного значения на 20, получение кортежа из двух значений: округленное вниз значение от деления результата на 3 и остатка от этого деления.

• Создайте объект класса struct_time с временными параметрами для текущего московского времени. Создайте строку с текущим часом и минутами.

• Создайте список с элементами – названиями дней недели. Сделайте случайную выборку из этого списка с тремя днями недели.

• Напишите инструкцию случайного выбора числа из последовательности целых чисел от 14 до 32 с шагом 3.

• Сгенерируйте нормально распределенное число N с математическим ожиданием 15 и стандартным отклонением 4 и округлите его до целого значения. Создайте список с N элементами – случайно выбранными буквами латинского алфавита.

• Напишите инструкцию для определения временного интервала в минутах, прошедшего с момента предыдущего (из п.2) определения временных параметров.

Решение

>>> 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)

>>> v = time.localtime()
>>> v
time.struct_time(tm_year=2025, tm_mon=9, tm_mday=30, tm_hour=18, tm_min=48, tm_sec=25, tm_wday=1, tm_yday=273, tm_isdst=0)
>>> st = v.tm_hour, v.tm_min
>>> st
(18, 48)
>>> st = str(v.tm_hour)+" hour "+str(v.tm_min)+" min "
>>> st
'18 hour 48 min '

>>> ned = ["пн", "вт", "ср", "чт", "пт", "сб", "вскр"]
>>> random.sample(ned, 3)
['чт', 'сб', 'пт']

>>> random.choice(list(range(14, 33, 3)))
26

>>> N = round(random.gauss(15, 4))
>>> N
12
>>> import string #Импортировали модуль в котором есть латинский алфавит, чтобы из него выбрать буквы. Без использования этого модуля создавать список с алфавитом нужно было бы вручную.
>>> random.sample(string.ascii_letters, N)
['q', 'F', 'z', 'E', 'd', 'C', 'k', 'N', 'e', 'n', 'm', 'V']

>>> time.localtime().tm_min - v.tm_min
21