Составить программу «Календарь XX столетия» , которая определяет день недели любого дня XX-го столетия. По введенному значению 1, 2, 3 вычисляет 1.номер дня недели по формуле, где D- день, М-месяц, G-год: •S=[(12-M)/10] •K=[(G-1900-S)*365,25]+[(M+12*S-2)*30,59]+D+29 •N=K-7[K/7] (N-вычисляется от 0-воскресенье до 6-суббота, []-целая часть) 2.день недели по его номеру 3.выход

18 Фев 2020 в 19:41
184 +1
0
Ответы
1

from math import floor

def calculate_day_of_week(day, month, year):
S = floor((12 - month) / 10)
K = floor((year - 1900 - S) 365.25) + floor((month + 12 S - 2) 30.59) + day + 29
N = K - 7 floor(K / 7)

return N

def get_day_of_week_name(day_of_week):
days = ["Воскресенье", "Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота"]
return days[day_of_week]

choice = int(input("Введите номер операции (1, 2 или 3): "))

if choice == 1:
day = int(input("Введите число: "))
month = int(input("Введите месяц: "))
year = int(input("Введите год: "))

day_of_week = calculate_day_of_week(day, month, year)
print(f"День недели: {get_day_of_week_name(day_of_week)}")

elif choice == 2:
day_of_week = int(input("Введите номер дня недели (от 0 до 6): "))
print(f"День недели: {get_day_of_week_name(day_of_week)}")
elif choice == 3:
print("Программа завершена.")
else:
print("Некорректный номер операции. Пожалуйста, повторите попытку.")

18 Апр в 17:06
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 648 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир