我正在尝试以dd / mm / yyyy格式从用户那里获取日期输入,并检查用户是否正确输入了日期然后打印出来。如果用户没有正确输入日期,程序会给出错误消息并再次询问,直到输入日期正确。
在下面的代码中,如果用户首先正确输入日期,请尝试将函数dateInput()中的值传递给变量' d'正确。但是,问题是如果在第一次尝试输入错误日期,那么即使输入日期比dateInput()函数正确,也不会将日期返回到变量' d'。
from datetime import datetime
def dateValidation(date_text):
try:
datetime.strptime(date_text, "%d/%m/%Y")
return True
except ValueError:
return False
def dateInput():
input_date = input("Enter a date in dd/mm/yyyy format:")
if dateValidation(input_date) == True:
return input_date
else:
print("Incorrect date, Please try again")
dateInput()
d = dateInput()
print(d)