我是一名Python初学者,我正在尝试正确地理解函数。我想了解为什么此功能不起作用以及错误消息的含义。
def input():
loop = True
while loop == True:
userInput = input('> ').lower()
if userInput == 'help':
help()
def main():
input()
main()
这是我的源代码中的一小部分。 我希望这只是请求用户输入,如果它是“帮助”,请运行在我的代码其他地方定义的帮助功能。 问题是我收到一条错误消息,内容如下:
TypeError:input()接受0个位置参数,但给出了1个
我不确定是什么类型错误或为什么在这里发生这种错误。
答案 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()