目前我遇到了一些问题,我对python很新,对于那些代码很多的人来说,这似乎很容易回答。我们的任务是做一个'99瓶啤酒在墙上'的挑战,我想通过询问用户他们在瓶子里想要什么来让我的好一点。但是我不断得到error: TypeError: must be str, not builtin_function_or_method
input("What would you like inside your bottle?")
def sing(b, end):
print(b or 'No more', 'bottle'+('s' if b-1 else ''), end)
for i in range(99, 0, -1):
sing(i, 'of'+input+'on the wall,')
sing(i, 'of'+input+',')
print('Take one down, pass it around,')
sing(i-1, 'of'+input+'on the wall.\n')
任何帮助将不胜感激,谢谢:3
答案 0 :(得分:2)
input()
方法返回要赋给变量的值。 Compare with the docs。现在您引用的方法不是变量。
你需要像
这样的东西something = input('Say sth. ')
print(something)
答案 1 :(得分:2)
input
是一个内置函数,所以当你执行'of'+input+'on the wall'
时,你只是尝试将一个函数连接到一个字符串,这没有多大意义;)
(口译员明确告诉你)
input
会返回您未分配给变量的字符串,因此请尝试user_input = input("What would you like inside the bootle?")
,然后在代码中使用user_input
代替input
。