форкнуто от main/python-labs
main
Родитель
9d906b2707
Сommit
dbf5fa0aa7
@ -0,0 +1,72 @@
|
|||||||
|
# Общее контрольное задание по теме 4
|
||||||
|
Ефремов Станислав, А-02-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 = tuple(math.floor((round(cmath.phase(0.2+0.8j), 2) * 20) / 3), (round(cmath.phase(0.2+0.8j), 2) * 20) % 3)
|
||||||
|
print(tup)
|
||||||
|
(8, 2.6000000000000014)
|
||||||
|
|
||||||
|
# Текущее московское время
|
||||||
|
|
||||||
|
moscow_time = time.localtime()
|
||||||
|
moscow_time
|
||||||
|
time.struct_time(tm_year=2025, tm_mon=10, tm_mday=19, tm_hour=18, tm_min=51, tm_sec=23, tm_wday=6, tm_yday=292, tm_isdst=0)
|
||||||
|
|
||||||
|
current_time_str = str(moscow_time.tm_hour)+" h "+str(moscow_time.tm_min)+" min "
|
||||||
|
current_time_str
|
||||||
|
'18 h 51 min '
|
||||||
|
|
||||||
|
# Случайная выборка дней недели
|
||||||
|
|
||||||
|
dni = ['пн', 'вт', 'ср', 'чт', 'пт', 'сб', 'вск']
|
||||||
|
random_days = random.sample(dni, 3)
|
||||||
|
random_days
|
||||||
|
['вт', 'пт', 'вск']
|
||||||
|
|
||||||
|
# Случайный выбор числа из последовательности
|
||||||
|
|
||||||
|
chiselki = list(range(14, 33, 3))
|
||||||
|
randomchik = random.choice(chiselki)
|
||||||
|
randomchik
|
||||||
|
20
|
||||||
|
|
||||||
|
# Генерация нормально распределенного числа и списка букв
|
||||||
|
|
||||||
|
N = round(random.gauss(15, 4))
|
||||||
|
N
|
||||||
|
18
|
||||||
|
import string #азбука. подписаться
|
||||||
|
random.sample(string.ascii_letters, N)
|
||||||
|
['g', 'y', 'r', 'D', 'O', 'x', 'k', 'U', 'w', 'n', 'X', 'e', 'M', 'T', 'I', 'p', 'N', 'W']
|
||||||
|
|
||||||
|
# Временной интервал в минутах
|
||||||
|
|
||||||
|
realnost = time.localtime()
|
||||||
|
intervalchik = (60+realnost.tm_min) - moscow_time.tm_min
|
||||||
|
intervalchik
|
||||||
|
18
|
||||||
|
```
|
||||||
Загрузка…
Ссылка в новой задаче