форкнуто от main/python-labs
Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
76 строки
3.7 KiB
Markdown
76 строки
3.7 KiB
Markdown
# Общее контрольное задание по теме 4
|
|
|
|
Коломейцев Дмитрий, А-02-23
|
|
|
|
## Задание
|
|
|
|
Реализовать, записать в текстовый файл и проанализировать результаты последовательности инструкций, выполняющих следующие действия:
|
|
|
|
- Напишите и исполните единое выражение, реализующее последовательное выполнение следующих операций: вычисление фазы комплексного числа 0.2+0.8j, округление результата до двух знаков после запятой, умножение полученного значения на 20, получение кортежа из двух значений: округленное вниз значение от деления результата на 3 и остатка от этого деления.
|
|
- Создайте объект класса struct_time с временными параметрами для текущего московского времени. Создайте строку с текущим часом и минутами.
|
|
- Создайте список с элементами – названиями дней недели. Сделайте случайную выборку из этого списка с тремя днями недели.
|
|
- Напишите инструкцию случайного выбора числа из последовательности целых чисел от 14 до 32 с шагом 3.
|
|
- Сгенерируйте нормально распределенное число N с математическим ожиданием 15 и стандартным отклонением 4 и округлите его до целого значения. Создайте список с N элементами – случайно выбранными буквами латинского алфавита.
|
|
- Напишите инструкцию для определения временного интервала в минутах, прошедшего с момента предыдущего (из п.2) определения временных параметров.
|
|
|
|
## Решение
|
|
|
|
```py
|
|
# Punkt 1
|
|
import cmath
|
|
divmod(round(cmath.phase(0.2+0.8j),2)*20,3)
|
|
(8.0, 2.6000000000000014)
|
|
|
|
# Punkt 2
|
|
import time
|
|
Time = time.time()
|
|
Time
|
|
1760948732.7906492
|
|
type(Time)
|
|
<class 'float'>
|
|
MosTimeSeconds = Time + 3*60*60
|
|
MosTimeSeconds
|
|
1760959532.7906492
|
|
MosTime = time.gmtime(MosTimeSeconds)
|
|
MosTime
|
|
time.struct_time(tm_year=2025, tm_mon=10, tm_mday=20, tm_hour=11, tm_min=25, tm_sec=32, tm_wday=0, tm_yday=293, tm_isdst=0)
|
|
type(MosTime)
|
|
<class 'time.struct_time'>
|
|
print("Current time: {}:{}".format(MosTime.tm_hour, MosTime.tm_min))
|
|
Current time: 11:25
|
|
|
|
# Punkt 3
|
|
import random
|
|
Days = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]
|
|
random.sample(Days, 3)
|
|
['Friday', 'Saturday', 'Wednesday']
|
|
|
|
# Punkt 4
|
|
random.choice(range(14, 33, 3))
|
|
17
|
|
|
|
# Punkt 5
|
|
import math
|
|
N = math.floor(random.gauss(15, 4))
|
|
N
|
|
14
|
|
|
|
import string
|
|
letters = random.sample(string.ascii_letters, N)
|
|
letters
|
|
['w', 'S', 'v', 'W', 'z', 'F', 'R', 'e', 'u', 'B', 'l', 'X', 'A', 'y']
|
|
|
|
# Punkt 6
|
|
timeDiff = round(time.time() - time.mktime(localTime))
|
|
print(timeDiff // 60, "minutes and", timeDiff % 60, "seconds")
|
|
3 minutes and 27 seconds
|
|
|
|
|
|
current_time = time.time()+3*3600
|
|
time_seconds = round(current_time - MosTimeSeconds)
|
|
time_minutes = round(time_seconds / 60)
|
|
|
|
print("Время, прошедшее с 2 пункта: {}:{}".format(time_minutes, time_seconds%60))
|
|
|
|
Время, прошедшее с 2 пункта: 15:55
|
|
``` |