date = input("Введите дату в формате ЧЧ.ММ.ГГ: ") day, month, year = map(int, date.split('.')) if month == 1: if day == 1: day = 31 month = 12 year -= 1 else: day -= 1 elif month == 3: if day == 1: if year % 4 == 0 and (year % 100 != 0 or year % 400 == 0): day = 29 else: day = 28 month -= 1 else: day -= 1 elif month in [2, 4, 6, 8, 9, 11]: if day == 1: day = 31 month -= 1 else: day -= 1 else: if day == 1: day = 30 month -= 1 else: day -= 1 print(f"Предыдущая дата: {day:02d}.{month:02d}.{year}")
Эта программа сначала считывает дату в формате ЧЧ.ММ.ГГ, затем определяет предыдущую дату. Алгоритм учитывает количество дней в месяцах, а также високосные года.
Программа на Python:
date = input("Введите дату в формате ЧЧ.ММ.ГГ: ")day, month, year = map(int, date.split('.'))
if month == 1:
if day == 1:
day = 31
month = 12
year -= 1
else:
day -= 1
elif month == 3:
if day == 1:
if year % 4 == 0 and (year % 100 != 0 or year % 400 == 0):
day = 29
else:
day = 28
month -= 1
else:
day -= 1
elif month in [2, 4, 6, 8, 9, 11]:
if day == 1:
day = 31
month -= 1
else:
day -= 1
else:
if day == 1:
day = 30
month -= 1
else:
day -= 1
print(f"Предыдущая дата: {day:02d}.{month:02d}.{year}")
Эта программа сначала считывает дату в формате ЧЧ.ММ.ГГ, затем определяет предыдущую дату. Алгоритм учитывает количество дней в месяцах, а также високосные года.