En este artículo, escribiremos un programa en Python para ingresar una fecha y verificar si es una fecha válida o no. Si es válido, emite la fecha incrementada. De lo contrario, imprima «Fecha no válida».
Ejemplos:
Input : 1/2/2000 Output: 2/2/2000 Input : 29/2/2002 Output: Invalid date Input : 31/12/2015 Output: 1/1/2016
El primer paso es verificar si la fecha ingresada es válida o no. Para este paso, primero necesitamos obtener el máximo número de días posible para el mes ingresado. Luego, debemos ver si el día se encuentra entre 1 y el número máximo de días obtenido y si el mes se encuentra entre 1 y 12. Si ambas condiciones se cumplen, eso significa que es una fecha válida y debemos incrementarla. Para incrementar la fecha, necesitamos manejar los siguientes casos:
- Si la fecha ingresada es el último día del año.
- Si la fecha ingresada es el último día del mes.
- Si la fecha ingresada no es el último día del mes.
Para el primer caso, incremente el año y establezca el día y el mes en 1. Para el segundo caso, incremente el mes y establezca el día en 1. Para el tercer caso, simplemente incremente el día. Si incluso una de las dos condiciones no se cumplió, entonces es una fecha no válida.
A continuación se muestra la implementación.
Python3
# input the date and split it to day, month and year day, month, year = map(int, input().split('/')) if month == 2: # check for February if year % 4 != 0: d_max = 28 else: d_max = 29 elif month in [4, 6, 9, 11]: # check the months with 30 days d_max = 30 else: d_max = 31 if 1 <= day <= d_max and 1 <= month <= 12: # increment the date since it is a # valid date if day == d_max: day = 1 if month == 12: # If this block is entered, # then it is the last day of # the year month = 1 year += 1 else: # If this block is entered, # then it is the last day of # the month month += 1 else: # If this block is entered, then it # is NOT the last day of the month day += 1 print(str(day) + "/" + str(month) + "/" + str(year)) else: print("Invalid date")
Producción:
31/12/2015 1/1/2016
Publicación traducida automáticamente
Artículo escrito por shubhi18195 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA