5.3 KiB
Общее контрольное задание.
-
Напишите и исполните единое выражение, реализующее последовательное выполнение следующих операций: вычисление фазы комплексного числа 0.2+0.8j, округление результата до двух знаков после запятой, умножение полученного значения на 20, получение кортежа из двух значений: округленное вниз значение от деления результата на 3 и остатка от этого деления.
-
Создайте объект класса struct_time с временными параметрами для текущего московского времени. Создайте строку с текущим часом и минутами.
-
Создайте список с элементами – названиями дней недели. Сделайте случайную выборку из этого списка с тремя днями недели.
-
Напишите инструкцию случайного выбора числа из последовательности целых чисел от 14 до 32 с шагом 3.
-
Сгенерируйте нормально распределенное число N с математическим ожиданием 15 и стандартным отклонением 4 и округлите его до целого значения. Создайте список с N элементами – случайно выбранными буквами латинского алфавита.
-
Напишите инструкцию для определения временного интервала в минутах, прошедшего с момента предыдущего (из п.2) определения временных параметров.
Решение:
import math
import time
import random
import cmath
print("1. Вычисление фазы комплексного числа и последующие операции:")
result = math.floor((round(cmath.phase(0.2+0.8j), 2) * 20) / 3), (round(cmath.phase(0.2+0.8j), 2) * 20) % 3
print(f"Результат: {result}")
print()
print("2. Создание объекта struct_time для московского времени:")
moscow_time = time.localtime()
print(f"Московское время: {moscow_time}")
time_str = time.asctime(moscow_time)
print(f"Строка с часом и минутами: '{time_str}'")
print()
print("3. Случайная выборка дней недели:")
week_days = ['Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота', 'Воскресенье']
random_days = random.sample(week_days, 3)
print(f"Дни недели: {week_days}")
print(f"Случайная выборка: {random_days}")
print()
print("4. Случайный выбор числа из последовательности:")
sequence = list(range(14, 33, 3))
random_number = random.choice(sequence)
print(f"Последовательность: {sequence}")
print(f"Случайно выбранное число: {random_number}")
print()
print("5. Генерация нормально распределенного числа и создание списка букв:")
N = round(random.gauss(15, 4))
# Создаем список букв латинского алфавита
alphabet = [chr(i) for i in range(65, 91)] # A-Z
random_letters = random.choices(alphabet, k=N)
print(f"N = {N}")
print(f"Случайные буквы: {random_letters}")
print()
print("6. Определение временного интервала в минутах:")
time_diff = (time.time() - time.mktime(moscow_time))/ 60
print(f"Прошло минут: {time_diff:.2f}")
Ответ программы:
1. Вычисление фазы комплексного числа и последующие операции:
Результат: (8, 2.6000000000000014)
2. Создание объекта struct_time для московского времени:
Московское время: time.struct_time(tm_year=2025, tm_mon=10, tm_mday=24, tm_hour=11, tm_min=34, tm_sec=15, tm_wday=4, tm_yday=297, tm_isdst=0)
Строка с часом и минутами: 'Fri Oct 24 11:34:15 2025'
3. Случайная выборка дней недели:
Дни недели: ['Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота', 'Воскресенье']
Случайная выборка: ['Вторник', 'Четверг', 'Пятница']
4. Случайный выбор числа из последовательности:
Последовательность: [14, 17, 20, 23, 26, 29, 32]
Случайно выбранное число: 17
5. Генерация нормально распределенного числа и создание списка букв:
N = 16
Случайные буквы: ['F', 'H', 'H', 'D', 'B', 'U', 'A', 'E', 'V', 'F', 'H', 'L', 'L', 'X', 'A', 'I']
6. Определение временного интервала в минутах:
Прошло минут: 0.01