我正在定义一个函数,我可以调用该函数将用户的输入存储为变量, 确保它是一个数字,并将该数字转换为整数,以便稍后在代码中使用公式。
所以这个想法是,当程序到达days时,它会提示用户输入getAnswer,这会启动该功能,以检查用户给出的答案,然后将其转换为整数。与工作相同
def getAnswer(a):
while True:
if a.isdecimal():
a = int()
break
print('Numbers only please...')
days = input(getAnswer)
worked = input(getAnswer)
这就是它最终的样子 <function functionName at 0x013A1300 >
最佳答案
您通过传递一个函数而不是提示用户的字符串来调用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 <函数函数名称位于 0x00000000>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33126727/