function()接受0个位置参数,但给1个函数调用错误

时间:2019-04-16 06:26:49

标签: python function

我是一名Python初学者,我正在尝试正确地理解函数。我想了解为什么此功能不起作用以及错误消息的含义。

def input():
    loop = True


    while loop == True:
        userInput = input('> ').lower()

        if userInput == 'help':
            help()

def main():
    input()

main()

这是我的源代码中的一小部分。 我希望这只是请求用户输入,如果它是“帮助”,请运行在我的代码其他地方定义的帮助功能。 问题是我收到一条错误消息,内容如下:

  

TypeError:input()接受0个位置参数,但给出了1个

我不确定是什么类型错误或为什么在这里发生这种错误。

6 个答案:

答案 0 :(得分:1)

您正面临此问题,因为input是python中的内置函数。请将输入重命名为input_1,它将起作用

答案 1 :(得分:1)

您要重新定义input内置功能,只需重命名您的功能即可:

def my_input():
    loop = True
    while loop == True:
        userInput = input('> ').lower()
        if userInput == 'help':
            help()

def main():
    my_input()

main()

答案 2 :(得分:0)

在代码的第一行中,您将input定义为不带参数的函数。这掩盖了python的内置输入功能。

答案 3 :(得分:0)

您将python的内置输入函数重新定义为在定义输入函数时使用0个参数的函数。考虑为函数使用其他名称。

答案 4 :(得分:0)

userInput = input('> ').lower()行用参数input调用函数'> '

答案 5 :(得分:0)

由于input是已经在python中定义的函数,因此会引发错误。试试

def input_func():
    loop = True


    while loop == True:
        userInput = input('> ').lower()

        if userInput == 'help':
            help()

def main():
    input_func()

main()