Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

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