Python<;0x00000000处的函数functionName>;
我定义了一个函数,我可以调用它来将用户的输入存储为变量, 确保它是一个数字,并将该数字转换为整数,以便稍后在代码中使用公式 因此,当程序运行到天时,它会提示用户输入getAnswer,从而启动函数,检查用户给出的答案,并将其转换为整数。与工作时的情况相同Python<;0x00000000处的函数functionName>;,python,function,python-3.x,input,Python,Function,Python 3.x,Input,我定义了一个函数,我可以调用它来将用户的输入存储为变量, 确保它是一个数字,并将该数字转换为整数,以便稍后在代码中使用公式 因此,当程序运行到天时,它会提示用户输入getAnswer,从而启动函数,检查用户给出的答案,并将其转换为整数。与工作时的情况相同 def getAnswer(a): while True: if a.isdecimal(): a = int() break print('Numbers
def getAnswer(a):
while True:
if a.isdecimal():
a = int()
break
print('Numbers only please...')
days = input(getAnswer)
worked = input(getAnswer)
这就是它最终看起来的样子,它本身就是一个函数。例如,您不是这样称呼它:
getAnswer(1)
我怀疑你想做的是
days = getAnswer(input())
请注意,评估顺序是从内到外。换句话说,将首先计算
input()
,然后通过传递函数而不是提示用户的字符串来调用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习惯用法;你能编辑一下澄清一下吗?另外,似乎getAnswer
实际上并没有返回任何内容。我试图尽我所能为大家清理语言,我对Python还是非常陌生。“在输入部分跟随我的光标”?!编辑完成后,这张图片比我想写的文字更有价值=\这修正了问题,我更了解函数,谢谢!