Напишите программу на Python, которая проверяет корректность дат, принимая строки с датами до символа точки. После проверки каждой даты, программа должна выводить "Корректная" или "Некорректная", а в конце вывести количество корректных дат. Для проверки даты используйте функцию check_date(). Даты должны быть введены в формате DD.MM. Входные данные: 19.05.2016 05.13.2010 21.12.2012 01.01.1000 32.04.2003. Выходные данные: Корректная Некорректная Корректная Корректная Некорректная.
Пламенный_Змей
Хорошо, вот решение вашей задачи на Python:
Данная программа предоставляет функцию `check_date()`, которая проверяет корректность даты, введенной в формате "DD.MM". Затем мы разделяем входные данные на отдельные строки с датами, используя функцию `split()`, и проходимся по каждой дате в цикле `for`.
Внутри цикла мы вызываем функцию `check_date()` для каждой даты и выводим "Корректная", если дата верна, или "Некорректная", если дата неверна. Также ведется подсчет корректных дат с помощью переменной `correct_count`.
В конце программы выводится количество корректных дат.
Надеюсь, это решение ясно объясняет процесс проверки дат и помогает вам выполнить задачу. Если у вас возникнут дополнительные вопросы, не стесняйтесь задавать.
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`.
В конце программы выводится количество корректных дат.
Надеюсь, это решение ясно объясняет процесс проверки дат и помогает вам выполнить задачу. Если у вас возникнут дополнительные вопросы, не стесняйтесь задавать.
Знаешь ответ?