我对以下脚本感到烦恼,它使用了一个函数:
def my_function(arg1, arg2, arg3):
print("I love listening to %s" %(arg1))
print("It is normally played at %d BPM" %(arg2))
print("I also like listening to %s" %(arg3))
print("Dat be da bomb playa!")
print("What music do you like listening to?")
ans1 = input(">>")
print("What speed is that usually played at?")
ans2 = input(">>")
print("whats your second favourite genre of music?")
ans3 = input(">>")
my_function(ans1, ans2, ans3)
我接到第一个用户输入:你喜欢听什么音乐?当我输入'House'并按Enter键时,我希望显示第二个问题,但是我收到以下错误消息:
Traceback (most recent call last):
File "ex19_MyFunction.py", line 26, in <module> ans1 = input(">>")
File "<string>", line 1, in <module>
NameError: name 'house' is not defined**
任何帮助将不胜感激!
答案 0 :(得分:1)
如果你使用Python2然后使用raw_input()
因为input()
尝试将文本解析为python代码而你会收到错误。
答案 1 :(得分:1)
你的脚本在Python3中运行得很好,所以我假设你使用的是Python2。将input
更改为raw_input
。
在Python2中,raw_input
会将输入转换为字符串,而input('foo')
则相当于eval(raw_input('foo'))
。