форкнуто от main/python-labs
Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
58 строки
3.6 KiB
Markdown
58 строки
3.6 KiB
Markdown
# Общее контрольное задание по теме 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
|
|
|
|
|
|
|
|
|