From b4c1f99ae631ec5d90307b6091baf7dac2bc7724 Mon Sep 17 00:00:00 2001 From: ShabatovAA Date: Mon, 13 Oct 2025 13:55:37 +0300 Subject: [PATCH] =?UTF-8?q?=D0=98=D0=B4=D0=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TEMA4/task.md | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 TEMA4/task.md diff --git a/TEMA4/task.md b/TEMA4/task.md new file mode 100644 index 0000000..ec8294a --- /dev/null +++ b/TEMA4/task.md @@ -0,0 +1,48 @@ +# Общее контрольное задание по теме 4 + +Шабатов Андрей, А-02-23 + +## Задание + +Реализовать, записать в текстовый файл и проанализировать результаты последовательности инструкций, выполняющих следующие действия: + + • Напишите и исполните единое выражение, реализующее последовательное выполнение следующих операций: вычисление фазы комплексного числа 0.2+0.8j, округление результата до двух знаков после запятой, умножение полученного значения на 20, получение кортежа из двух значений: округленное вниз значение от деления результата на 3 и остатка от этого деления. + + • Создайте объект класса struct_time с временными параметрами для текущего московского времени. Создайте строку с текущим часом и минутами. + + • Создайте список с элементами – названиями дней недели. Сделайте случайную выборку из этого списка с тремя днями недели. + + • Напишите инструкцию случайного выбора числа из последовательности целых чисел от 14 до 32 с шагом 3. + + • Сгенерируйте нормально распределенное число N с математическим ожиданием 15 и стандартным отклонением 4 и округлите его до целого значения. Создайте список с N элементами – случайно выбранными буквами латинского алфавита. + + • Напишите инструкцию для определения временного интервала в минутах, прошедшего с момента предыдущего (из п.2) определения временных параметров. + +## Решение + +```py +>>>divmod((round(cmath.phase(0.2+0.8j), 2))*20, 3) +(8.0, 2.6000000000000014) +>>>divmod(math.floor((round(cmath.phase(0.2+0.8j), 2))*20), 3) #Для получения остатка в целом виде и делении целых чисел, можно использовать такое выражение. +(8, 2) +>>>v = time.localtime() +>>>v +time.struct_time(tm_year=2025, tm_mon=9, tm_mday=11, tm_hour=14, tm_min=3, tm_sec=26, tm_wday=3, tm_yday=254, tm_isdst=0) +>>>st = v.tm_hour, v.tm_min +>>>st = str(v.tm_hour)+" hour "+str(v.tm_min)+" min " +>>>st +'14 hour 3 min ' +>>>ned = ["пн", "вт", "ср", "чт", "пт", "сб", "вскр"] +>>>random.sample(ned, 3) +['пн', 'вскр', 'вт'] +>>>random.choice(list(range(14, 33, 3))) +20 +>>>N = round(random.gauss(15, 4)) +>>>N +15 +>>>import string #Импортировали модуль в котором есть латинский алфавит, чтобы из него выбрать буквы. Без использования этого модуля создавать список с алфавитом нужно было бы вручную. +>>>random.sample(string.ascii_letters, N) +['M', 'J', 'X', 'H', 'R', 'D', 'V', 'U', 'c', 'g', 'l', 'k', 'm', 't', 'w'] +>>>time.localtime().tm_min - v.tm_min +24 +``` \ No newline at end of file