ответвлено от main/python-labs
63 строки
3.6 KiB
Markdown
63 строки
3.6 KiB
Markdown
# Общее контрольное задание по теме 4
|
|
Филиппова Евгения, А-01-23
|
|
## Задание
|
|
Реализовать, записать в текстовый файл и проанализировать результаты последовательности инструкций, выполняющих следующие действия:
|
|
|
|
• Напишите и исполните единое выражение, реализующее последовательное выполнение следующих операций: вычисление фазы комплексного числа 0.2+0.8j, округление результата до двух знаков после запятой, умножение полученного значения на 20, получение кортежа из двух значений: округленное вниз значение от деления результата на 3 и остатка от этого деления.
|
|
|
|
• Создайте объект класса struct_time с временными параметрами для текущего московского времени. Создайте строку с текущим часом и минутами.
|
|
|
|
• Создайте список с элементами – названиями дней недели. Сделайте случайную выборку из этого списка с тремя днями недели.
|
|
|
|
• Напишите инструкцию случайного выбора числа из последовательности целых чисел от 14 до 32 с шагом 3.
|
|
|
|
• Сгенерируйте нормально распределенное число N с математическим ожиданием 15 и стандартным отклонением 4 и округлите его до целого значения. Создайте список с N элементами – случайно выбранными буквами латинского алфавита.
|
|
|
|
• Напишите инструкцию для определения временного интервала в минутах, прошедшего с момента предыдущего (из п.2) определения временных параметров.
|
|
|
|
## Решение
|
|
```py
|
|
# Комплексное число и операции
|
|
import math
|
|
import cmath
|
|
import time
|
|
import random
|
|
|
|
tup = (lambda x: (x // 3, x % 3))((round(cmath.phase(0.2+0.8j), 2)) * 20)
|
|
print(tup)
|
|
(8, 2.6000000000000014)
|
|
|
|
# Текущее московское время
|
|
current_time = time.localtime()
|
|
time_string = f"{current_time.tm_hour:02d}:{current_time.tm_min:02d}"
|
|
print(f"Текущее время (чч:мм): {time_string}")
|
|
|
|
# Случайная выборка дней недели
|
|
|
|
dni = ['пн', 'вт', 'ср', 'чт', 'пт', 'сб', 'вск']
|
|
random_days = random.sample(dni, 3)
|
|
print(random_days)
|
|
|
|
# Случайный выбор числа из последовательности
|
|
|
|
num = list(range(14, 33, 3))
|
|
random_num = random.choice(num)
|
|
print(random_num)
|
|
|
|
# Генерация нормально распределенного числа и списка букв
|
|
|
|
N = round(random.gauss(15, 4))
|
|
N=max(1,N)
|
|
print(N)
|
|
|
|
bukv = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
|
|
random_bukv = [random.choice(bukv) for _ in range(N)]
|
|
print(random_bukv)
|
|
|
|
# Временной интервал в минутах
|
|
start_time = time.time()
|
|
time.sleep(2)
|
|
end_time = time.time()
|
|
time_interval_minutes = (end_time - start_time) / 60
|
|
print(time_interval_minutes)
|
|
``` |