谷歌搜索,试用和错误没有帮助。对Python来说还是一个新手。
我想让函数运行并打印输出选项,并使用 def content(userInput):
options=[
'option 1',
'option 2
]
print '\n'.join(map(str, options))
userInput = raw_input("> ")
return userInput
content()
变量并在另一个函数中使用它
{{1}}
TypeError:content()只取1个参数(0给定)
答案 0 :(得分:1)
目前我发现在您的代码中使用函数参数userInput
时没有使用raw_input
def content(): # if you are not willing to pass anything to function then you do not need to use anything as argument of function
options=['option 1', 'option 2']
print '\n'.join(map(str, options))
userInput = raw_input("> ") # whatever input you are passing in userInput as function argument will be overridden here
return userInput
content()
答案 1 :(得分:0)
在定义此函数的方式中,需要将userInput
作为参数。阅读你的代码,似乎你真的不需要这个(你在不使用它的情况下立即覆盖userInput
),只需这样做:
def content():
options=[
'option 1',
'option 2'
]
print '\n'.join(map(str, options))
userInput = raw_input("> ")
return userInput
content()
答案 2 :(得分:0)
你的功能,
def content(userInput):
options=[
'option 1',
'option 2
]
print '\n'.join(map(str, options))
userInput = raw_input("> ")
return userInput
content()
你提供userInput
作为参数,但你执行了该函数而没有给出该参数的任何值,即
content()
在python中,当你在函数中提供任何参数时,就像你在userInput
函数中提供comment
作为参数一样,python期望你提供userInput
参数的值和执行功能时没有提供它。这就是为什么它给你错误。
相反,你必须提供一个代替你给定参数的值(当执行函数时)
content("any value")
或以这种方式重写代码,
def content(userInput=None):
.......
然后你可以像这样执行它,
content()
注意:在您的代码中,您没有在任何地方使用userInput
,所以最好重写代码,
def content():
options=[
'option 1',
'option 2
]
print '\n'.join(map(str, options))
userInput = raw_input("> ")
return userInput
然后执行您的函数content
,
content()
答案 3 :(得分:0)
您使用参数userInput
def content(userInput):
在这种情况下,当您想要使用它时,您需要传递该参数。
所以你在哪里
content()
应该更像是
content(someVal)
或仅在def content(userInput):
删除userInput
所以它会像:
def content():