在Python中执行一个函数

时间:2015-12-19 23:17:07

标签: python

我对以下脚本感到烦恼,它使用了一个函数:

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**

任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:1)

如果你使用Python2然后使用raw_input()因为input()尝试将文本解析为python代码而你会收到错误。

答案 1 :(得分:1)

你的脚本在Python3中运行得很好,所以我假设你使用的是Python2。将input更改为raw_input

在Python2中,raw_input会将输入转换为字符串,而input('foo')则相当于eval(raw_input('foo'))