我正在定义一个函数,我可以调用该函数将用户的输入存储为变量,
确保它是一个数字,然后在代码中稍后将数字转换为整数以用于公式。

因此,想法是,当程序运行到几天时,它会提示用户输入getAnswer,这将启动该函数,以检查用户给出的答案,并将其转换为整数。与工作相同

def getAnswer(a):
    while True:
        if a.isdecimal():
            a = int()
            break
        print('Numbers only please...')

days = input(getAnswer)
worked = input(getAnswer)


这就是最终的样子,就像《

最佳答案

您通过传递函数而不是提示用户的字符串来调用input。也许你的意思是:

days = getAnswer()


使用getAnswer()定义为使用input从用户那里获得响应,对其进行验证,然后将其返回。例如,

def getAnswer():
    while True:
        a = input()
        try:
            return int(a)
        except ValueError:
            print('Numbers only please...')


在我看来,这比将输入函数传递给getAnswer()更为清晰,而try...except子句是一种常见且易于理解的Python习惯用法。

关于python - Python <函数functionName at 0x00000000>,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33126727/

10-10 07:59