форкнуто от main/python-labs
				
			
			Вы не можете выбрать более 25 тем
			Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
		
		
		
		
		
			
		
			
				
	
	
		
			78 строки
		
	
	
		
			4.0 KiB
		
	
	
	
		
			Markdown
		
	
			
		
		
	
	
			78 строки
		
	
	
		
			4.0 KiB
		
	
	
	
		
			Markdown
		
	
# Общее контрольное задание по теме 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.time()
 | 
						|
moscow_time
 | 
						|
1760944817.0515099
 | 
						|
mos_real = moscow_time+3*3600
 | 
						|
mos_real = time.gmtime(mos_real)
 | 
						|
mos_real
 | 
						|
time.struct_time(tm_year=2025, tm_mon=10, tm_mday=20, tm_hour=10, tm_min=20, tm_sec=17, tm_wday=0, tm_yday=293, tm_isdst=0)
 | 
						|
 | 
						|
current_time_str = str(mos_real.tm_hour)+" h "+str(mos_real.tm_min)+" min "
 | 
						|
current_time_str
 | 
						|
'10 h 20 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']
 | 
						|
 | 
						|
# Временной интервал в минутах
 | 
						|
 | 
						|
interval = math.floor((time.time()+3*3600 - (moscow_time+3*3600))/60)
 | 
						|
interval
 | 
						|
7
 | 
						|
intervalchik = (time.gmtime(time.time()+3*3600 - (moscow_time+3*3600))).tm_min + (time.gmtime(time.time()+3*3600 - (moscow_time+3*3600))).tm_hour * 60
 | 
						|
intervalchik
 | 
						|
9
 | 
						|
``` |