python递归函数不返回值

时间:2016-01-31 18:35:42

标签: python date datetime recursion

我正在尝试以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)

0 个答案:

没有答案