1. Занятия в школе начинаются в 8-30. Урок длится 45 минут, перерывы между уроками – 10 минут. Напишите программу, которая получает с клавиатуры номер урока и выводит время его окончания.
python
def calculate_end_time(lesson_number):
start_time_hour = 8
start_time_minute = 30
# Рассчитываем общую длительность предшествующих уроков
total_duration_previous_lessons = 0
for i in range(1, lesson_number):
# Узнаем длительность урока на основе его номера
lesson_duration = get_lesson_duration(i)
# Добавляем длительность урока в общую длительность предшествующих уроков
total_duration_previous_lessons += lesson_duration
# Добавляем длительность перерывов между уроками
total_duration_previous_lessons += (lesson_number - 1) * 10
# Рассчитываем время окончания заданного урока
end_time_hour = start_time_hour + total_duration_previous_lessons // 60
end_time_minute = start_time_minute + total_duration_previous_lessons % 60
# Выводим время окончания заданного урока
print(f"Время окончания {lesson_number} урока: {end_time_hour}:{end_time_minute:02}")
def get_lesson_duration(lesson_number):
# Используем switch для определения длительности урока на основе его номера
switch = {
1: 45,
2: 45,
3: 45,
4: 45,
5: 45,
6: 45,
7: 45,
8: 45,
9: 45,
10: 45
}
# Возвращаем длительность урока
return switch.get(lesson_number)
# Получаем номер урока с клавиатуры
lesson_number = int(input("Введите номер урока: "))
# Вызываем функцию для рассчета времени окончания заданного урока
calculate_end_time(lesson_number)
В данной программе используется функция `calculate_end_time`, которая принимает номер урока и рассчитывает время его окончания. Внутри этой функции сначала определяется длительность предшествующих уроков путем пройденя цикла от 1 до `lesson_number - 1`. Затем рассчитывается общая длительность предшествующих уроков путем добавления длительности уроков и перерывов. Конечное время окончания вычисляется путем прибавления длительности предшествующих уроков к времени начала занятий.
Также в программе используется функция `get_lesson_duration`, которая принимает номер урока и возвращает его длительность. В данном примере мы просто определяем длительность урока на основе его номера, используя условную инструкцию switch. Однако в реальной программе можно использовать разные критерии для определения длительности урока, например, хранить их в базе данных или в файле конфигурации.
Программа получает номер урока с клавиатуры и выводит время его окончания. Например, если пользователь вводит номер урока 3, программа выводит: "Время окончания 3 урока: 9:50". Таким образом, программа вычисляет и выводит точное время окончания заданного урока, учитывая все предшествующие уроки и перерывы между уроками.Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет