Python 函数()接受0个位置参数,但函数调用时给了1个错误
我是一名初级Python程序员,我正在努力正确理解函数。我想了解为什么这个函数不起作用,以及错误消息的含义Python 函数()接受0个位置参数,但函数调用时给了1个错误,python,function,Python,Function,我是一名初级Python程序员,我正在努力正确理解函数。我想了解为什么这个函数不起作用,以及错误消息的含义 def input(): loop = True while loop == True: userInput = input('> ').lower() if userInput == 'help': help() def main(): input() main() 这是我源代码的一小部分。
def input():
loop = True
while loop == True:
userInput = input('> ').lower()
if userInput == 'help':
help()
def main():
input()
main()
这是我源代码的一小部分。
我希望这只是请求用户输入,如果是“help”,则运行代码中其他地方定义的help函数。
问题是,我收到一条错误消息,其中说明以下内容:
TypeError:input()接受0个位置参数,但给出了1个
我不确定什么是类型错误,也不确定为什么会发生这种情况。您面临这个问题,因为
input
是python中的内置函数。请将input重命名为input_1,它将工作如果您正在重新定义输入
内置功能,只需重命名您的:
def my_input():
loop = True
while loop == True:
userInput = input('> ').lower()
if userInput == 'help':
help()
def main():
my_input()
main()
在代码的第一行,您将
input
定义为不带参数的函数。这隐藏了python的内置输入函数。定义输入函数时,您将python的内置输入函数重新定义为一个接受0个参数的函数。考虑使用一个不同的名称来命名函数。 < P>线>代码>用户输入=(输入)(“>”)。LooRever(/>代码>调用函数<代码>输入<代码> >参数<代码> > > <代码> ,因为代码>输入< /代码>是Python中已经定义的函数,它正在引发一个错误。试一试
def input_func():
loop = True
while loop == True:
userInput = input('> ').lower()
if userInput == 'help':
help()
def main():
input_func()
main()
输入
不是关键工作,因此可以覆盖它。它是一个内置函数。@Netwave。对,我同意你。选错了词。哇,好吧,我不知道我怎么没弄明白。谢谢你的帮助。