3.8 KiB
Общее контрольное задание по теме 4
Турханов Артем, А-03-23
Задание
• Напишите и исполните единое выражение, реализующее последовательное выполнение сле-дующих операций: вычисление фазы комплексного числа 0.2+0.8j, округление результата до двух знаков после запятой, умножение полученного значения на 20, получение кортежа из двух значений: округленное вниз значение от деления результата на 3 и остатка от этого деления.
• Создайте объект класса struct_time с временными параметрами для текущего московского времени. Создайте строку с текущим часом и минутами.
• Создайте список с элементами – названиями дней недели. Сделайте случайную выборку из этого списка с тремя днями недели.
• Напишите инструкцию случайного выбора числа из последовательности целых чисел от 14 до 32 с шагом 3.
• Сгенерируйте нормально распределенное число N с математическим ожиданием 15 и стан-дартным отклонением 4 и округлите его до целого значения. Создайте список с N элементами – случайно выбранными буквами латинского алфавита.
• Напишите инструкцию для определения временного интервала в минутах, прошедшего с мо-мента предыдущего (из п.2) определения временных параметров.
Решение
Работа в интерпретаторе Python:
Задача 1
>>> ((round(cmath.phase(0.2 + 0.8j), 2)*20)//3, (round(cmath.phase(0.2 + 0.8j), 2)*20)%3)
(8.0, 2.6000000000000014)
Задача 2
>>> import time
>>> time.localtime()
time.struct_time(tm_year=2025, tm_mon=10, tm_mday=8, tm_hour=13, tm_min=10, tm_sec=51, tm_wday=2, tm_yday=281, tm_isdst=0)
>>> str(time.localtime().tm_hour) + ':' + str(time.localtime().tm_min)
'13:13'
Задача 3
>>> week = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']
>>> import random
>>> random.sample(week, 3)
['Sunday', 'Wednesday', 'Tuesday']
>>> random.sample(week, 3)
['Sunday', 'Monday', 'Thursday']
>>> random.sample(week, 3)
['Tuesday', 'Monday', 'Wednesday']
Задача 4
>>> [i for i in range(14,33, 3)]
[14, 17, 20, 23, 26, 29, 32]
>>> random.choice([i for i in range(14,33, 3)])
29
>>> random.choice([i for i in range(14,33, 3)])
20
Задача 5
>>> N = random.gauss(15,4)
>>> N
13.338543069074923
>>> round(N)
13
>>> alphabet = 'qwertyuiopasdfghjklzxcvbnm'
>>> alphabet = list(alphabet); alphabet
['q', 'w', 'e', 'r', 't', 'y', 'u', 'i', 'o', 'p', 'a', 's', 'd', 'f', 'g', 'h', 'j', 'k', 'l', 'z', 'x', 'c', 'v', 'b', 'n', 'm']
>>> [random.choice(alphabet) for i in range(round(N))]
['k', 'f', 'l', 'd', 'g', 'd', 'x', 'p', 'j', 'x', 't', 'q', 'c']
>>> [random.choice(alphabet) for i in range(round(N))]
['x', 'a', 'i', 'c', 'v', 'a', 't', 'z', 'b', 'm', 'u', 'p', 'g']
Задача 6
>>> c1 = time.time()
>>> c1
1759919247.2307003
>>> c2 = time.time(); c2
1759919725.6270442
>>> c2 - c1
478.3963439464569
>>> (c2 - c1)//60
7.0