🎉 ¡Felicidades! 🎉
¡Has resuelto la tarea brillantemente! Era un reto difícil, pero encontraste la solución correcta. ¡Estás un paso más cerca de dominar la programación! Sigue así, cada etapa superada te hace más fuerte.
ProgerLib Python para todos
Imagina que estás creando una aplicación de calendario simple. Una de las funciones más importantes de dicha aplicación — No permitir al usuario ingresar fechas inexistentes. Por ejemplo, el 30 de febrero o el 31 de abril.
Escribe un programa que le pida al usuario ingresar tres números: día, mes y año. Tu tarea — Verificar si la fecha introducida es real. El programa debe tener en cuenta que en diferentes meses hay diferentes cantidades de días, así como que existen años bisiestos en los que febrero tiene 29 días.
Reglas para la verificación:
El programa debe mostrar "fecha correcta" si la fecha existe, y "fecha incorrecta" en caso contrario.
Día (entero)
mes (entero)
año (número entero)
El resultado de la verificación (línea)
29
2
2024
La fecha correcta
# Запрашиваем у пользователя три числа: день, месяц, год
day = int(input())
month = int(input())
year = int(input())
# Проверяем базовую корректность введенных данных
if month < 1 or month > 12:
print("Некорректная дата")
else:
# Проверяем корректность дня для каждого месяца
# Месяцы с 31 днем: январь(1), март(3), май(5), июль(7), август(8), октябрь(10), декабрь(12)
if month in [1, 3, 5, 7, 8, 10, 12]:
if day < 1 or day > 31:
print("Некорректная дата")
else:
print("Корректная дата")
# Месяцы с 30 днями: апрель(4), июнь(6), сентябрь(9), ноябрь(11)
elif month in [4, 6, 9, 11]:
if day < 1 or day > 30:
print("Некорректная дата")
else:
print("Корректная дата")
# Февраль (2) - особый случай
elif month == 2:
# Проверяем, является ли год високосным
is_leap_year = False
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
is_leap_year = True
# Проверяем корректность дня для февраля
if is_leap_year:
# Високосный год - до 29 дней
if day < 1 or day > 29:
print("Некорректная дата")
else:
print("Корректная дата")
else:
# Обычный год - до 28 дней
if day < 1 or day > 28:
print("Некорректная дата")
else:
print("Корректная дата")
🎉 ¡Felicidades! 🎉
¡Has resuelto la tarea brillantemente! Era un reto difícil, pero encontraste la solución correcta. ¡Estás un paso más cerca de dominar la programación! Sigue así, cada etapa superada te hace más fuerte.
AD
Publicidad
Ejecutando tu código...