Python <函数函数名称位于 0x00000000>

标签 python function python-3.x input

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

所以这个想法是,当程序到达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/

相关文章:

python - 使用 python 强制 UTF-8 输出

python - 使用 VS Code 通过 SSH 连接时访问 Python Jupyter Notebook 中的本地文件

python - 如何在继承自 unittest.TestCase 的类中创建通用方法?

python - 我可以使用 plone 工作流来管理与 autocad 相关的图形吗?

javascript - 如果在具有函数的 Javascript 中,则为三元

javascript - 函数参数作为字符串但作为函数执行?

swift - 计算总距离 swift iOS

python - 为什么列表理解闭包在 python 3 中抛出 `NameError` 但在 python 2 中不抛出?

python - 读取文本文件中的行间内容

python - 使用 DataFrame.lookup 获取列名是字符串子集的行