3.8 KiB
Общее контрольное задание по Теме 4
Кузьменко Елена, А-02-23
Задание
1)Напишите и исполните единое выражение, реализующее последовательное выполнение следующих операций: вычисление фазы комплексного числа 0.2+0.8j, округление результата до двух знаков после запятой, умножение полученного значения на 20, получение кортежа из двух значений: округленное вниз значение от деления результата на 3 и остатка от этого деления.
2)Создайте объект класса struct_time с временными параметрами для текущего московского времени. Создайте строку с текущим часом и минутами.
3)Создайте список с элементами – названиями дней недели. Сделайте случайную выборку из этого списка с тремя днями недели.
4)Напишите инструкцию случайного выбора числа из последовательности целых чисел от 14 до 32 с шагом 3.
5)Сгенерируйте нормально распределенное число N с математическим ожиданием 15 и стандартным отклонением 4 и округлите его до целого значения. Создайте список с N элементами – случайно выбранными буквами латинского алфавита.
6)Напишите инструкцию для определения временного интервала в минутах, прошедшего с момента предыдущего (из п.2) определения временных параметров.
Решение
1.Исполнение выражения.
>>> import math
>>> import cmath
>>> divmod(math.floor(round(cmath.phase( 0.2+0.8j ), 2)) * 20), 3)
(8, 2)
2.Объект с временными параметрами.
>>> import time
>>> t = time.gmtime(time.time() + 3 * 3600); t
>>> time.struct_time(tm_year=2025, tm_mon=10, tm_mday=20, tm_hour=10, tm_min=36, tm_sec=20, tm_wday=0, tm_yday=293, tm_isdst=0)
>>> print('часов: ' + str(t.tm_hour) + '\nминут: ' + str(t.tm_min))
>>> часов: 10
>>> минут: 36
3.Список.Случайная выборка.
>>> import random
>>> days = ['Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота', 'Воскресенье']
>>> v = random.sample(days,3); v
['Понедельник', 'Четверг', 'Пятница']
4.Случайный выбор чисел из последовательности.
>>> r1 = random.choice(list(range(14, 32, 3))); r1
17
5.Нормальное распределение.Список с латинскими буквами.
>>> n = round(random.gauss(15,4)); n
10
>>> alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
>>> l = random.sample(alphabet * n, n); l
['K', 'I', 'B', 'I', 'L', 'D', 'W', 'O', 'Q', 'X']
6.Временной интервал в минутах.
>>> t2 = time.gmtime(time.time() + 3 * 3600); t2
time.struct_time(tm_year=2025, tm_mon=10, tm_mday=20, tm_hour=10, tm_min=37, tm_sec=53, tm_wday=0, tm_yday=293, tm_isdst=0)
>>> t_2 = (t2.tm_hour*3600+t2.tm_min*60+t2.tm_sec); t_2
38273
>>> t_1 = (t.tm_hour*3600+t.tm_min*60+t.tm_sec); t_1
38180
>>> t_3 = math.floor((t_2 - t_1)/60); t_3
1