我尝试创建一个for循环,提示用户输入一个爱好3次,然后将每个爱好附加到爱好上。在
到目前为止,我得出的结论是:
hobbies = []
for tries in range(3):
hobby = raw_input(input("what's your favorite hobby?: "))
hobbies.append(hobby)
当我在用户输入提示符处输入一个响应后,例如我的响应是“竞争性进食”,我在终端中得到以下错误:
^{pr2}$
我肯定我犯了一个非常愚蠢的错误,但我似乎不知道我做错了什么。在
Tags:
input
相当于eval(raw_input)
。在你的例子中这是完全多余的。放下它,只保留raw_input
:编辑:}'s documentation )。因为“竞争性饮食”不是你已经定义的变量,它不能被评估,因此
为了回答注释中的问题,
input
接受字符串并尝试将其作为一个python表达式进行求值(有关详细信息,请参见^{NameError
。在您只需要}。使用
raw_input
,而不需要input
后跟{在python3.x中,
input
做了raw_input
在以前版本中所做的事情。但是在python3之前,input
除了从stdin读取一行代码外,还将该行视为一个有效的Python表达式。raw_input
是另一种选择,因此您应该使用其中一种,而不是两者都使用。在这里,raw_input
是合适的。在相关问题 更多 >
编程相关推荐