
Привет! Я решил создать программу для проверки корректности введенной пользователем даты в формате ″день.месяц.год″. Вот как я сделал это⁚
python
def check_date(date)⁚
parts date.split(″.″)
if len(parts) ! 3⁚
return False
day int(parts[0])
month int(parts[1])
year int(parts[2])
if day < 1 or day > 31 or month < 1 or month > 12 or year < 1⁚
return False
if month in [4‚ 6‚ 9‚ 11] and day > 30⁚
return False
if month 2⁚
leap_year year % 4 0 and (year % 100 ! 0 or year % 400 0)
if leap_year and day > 29⁚
return False
if not leap_year and day > 28⁚
return False
return True
date_to_prove ″15.4.2023″
result check_date(date_to_prove)
print(result)
В моей программе я использую функцию `check_date`‚ которая принимает в качестве аргумента дату‚ которую нужно проверить.
Сначала я разделяю дату на три части (день‚ месяц‚ год)‚ используя функцию `split`. Затем я проверяю‚ что длина списка равна 3‚ чтобы быть уверенным в правильности формата ввода. Затем я преобразую каждую часть даты в целое число с помощью функции `int`. После этого я провожу несколько проверок‚ чтобы убедиться‚ что дата корректна. Первое‚ что я проверяю‚ это что день‚ месяц и год находятся в необходимых пределах (1-31‚ 1-12 и 1-бесконечность соответственно). Если дата не проходит эту проверку‚ я возвращаю `False`. Затем я проверяю‚ что число дней соответствует месяцу. Например‚ в апреле может быть только 30 дней‚ поэтому я проверяю‚ что день не больше 30 для этого месяца. Наконец‚ я проверяю февраль. Если год высокосный‚ то в феврале может быть 29 дней‚ в противном случае — только 28. Если дата не соответствует этому условию‚ я возвращаю `False`.
Если дата прошла все проверки‚ значит она корректна и я возвращаю `True`.
В конце программы я вызываю функцию `check_date` с введенной пользователем датой ″15.4.2023″ и выводу полученного результата на экран.
Результат проверки будет ″True″‚ так как дата ″15.4.2023″ является корректной.
Таким образом‚ я создал программу‚ которая позволяет проверить корректность введенной пользователем даты в формате ″день.месяц.год″. Я надеюсь‚ что мой опыт будет полезен для тебя!