Напишите программу на Python, которая проверяет корректность дат, принимая строки с датами до символа точки. После

Напишите программу на Python, которая проверяет корректность дат, принимая строки с датами до символа точки. После проверки каждой даты, программа должна выводить "Корректная" или "Некорректная", а в конце вывести количество корректных дат. Для проверки даты используйте функцию check_date(). Даты должны быть введены в формате DD.MM. Входные данные: 19.05.2016 05.13.2010 21.12.2012 01.01.1000 32.04.2003. Выходные данные: Корректная Некорректная Корректная Корректная Некорректная.
Пламенный_Змей

Пламенный_Змей

Хорошо, вот решение вашей задачи на Python:

python
def check_date(date_str):
# Разделим строку на день и месяц
day, month = date_str.split(".")

# Проверим, что оба значения являются числами
if not day.isdigit() or not month.isdigit():
return False

day = int(day)
month = int(month)

# Проверим корректность даты
if month < 1 or month > 12:
return False

if day < 1 or day > 31:
return False

if month == 2 and day > 29:
return False

if month in [4, 6, 9, 11] and day > 30:
return False

# Дата считается корректной
return True


dates = "19.05.2016 05.13.2010 21.12.2012 01.01.1000 32.04.2003"
dates_list = dates.split()

correct_count = 0

for date in dates_list:
if check_date(date):
print("Корректная")
correct_count += 1
else:
print("Некорректная")

print("Количество корректных дат:", correct_count)


Данная программа предоставляет функцию `check_date()`, которая проверяет корректность даты, введенной в формате "DD.MM". Затем мы разделяем входные данные на отдельные строки с датами, используя функцию `split()`, и проходимся по каждой дате в цикле `for`.

Внутри цикла мы вызываем функцию `check_date()` для каждой даты и выводим "Корректная", если дата верна, или "Некорректная", если дата неверна. Также ведется подсчет корректных дат с помощью переменной `correct_count`.

В конце программы выводится количество корректных дат.

Надеюсь, это решение ясно объясняет процесс проверки дат и помогает вам выполнить задачу. Если у вас возникнут дополнительные вопросы, не стесняйтесь задавать.
Знаешь ответ?
Задать вопрос
Привет!
hello