Python none从try和except子句返回

2024-06-01 03:17:11 发布

您现在位置:Python中文网/ 问答频道 /正文

此代码(日期)的返回值为“无”。如果提供了无效条目,则提供有效条目。但是,如果第一次提供有效条目,则会提供正确的日期申报表。有什么建议可以帮我解决吗?你知道吗

def getDate():
    date = input("Please enter the date in DD/MM/YYYY format: ")
    try:
        strptime(date, "%d/%m/%Y")
        return date
    except:
        print ("Invalid Date, please enter again")
        getDate()

Tags: the代码ininputdatedef条目建议
1条回答
网友
1楼 · 发布于 2024-06-01 03:17:11

由于有这么多错误的答案被张贴到这个问题,我觉得有必要补充另一个。在except子句中添加return getDate()将使它如您所愿工作:

def getDate():
    date = input("Please enter the date in DD/MM/YYYY format: ")
    try:
        strptime(date, "%d/%m/%Y")
        return date
    except:
        print ("Invalid Date, please enter again")
        return getDate()

但是,用递归处理重试并不理想。改为使用循环:

from time import strptime

def getDate():
    while True:
        date = input("Please enter the date in DD/MM/YYYY format: ")
        try:
            strptime(date, "%d/%m/%Y")
            return date
        except ValueError:
            print ("Invalid Date, please enter again")

相关问题 更多 >