我正在使用for循环来制作一个超级简单的程序,使用for循环,询问你的爱好三次,并将你的答案附加到一个名为爱好的列表中:
hobbies = []
for me in range(3):
hobby=input("Tell me one of your hobbies: ")
hobbies.append(hobby)
例如,如果我给它'编码',它将返回:
Traceback (most recent call last):
File "python", line 4, in <module>
File "<string>", line 1, in <module>
NameError: name 'coding' is not defined
请注意,如果我使用Python 2.7并使用raw_input
代替,则程序运行良好。
答案 0 :(得分:1)
在Python 2 input
将评估给定的字符串,而raw_input
将只返回一个字符串。请注意,在Python 3中,raw_input
已重命名为input
,而旧版input
仅以eval(input())
形式提供。
Python 2中的示例:
In [1]: x = 2
# just a value
In [2]: x ** input("exp: ")
exp: 8
Out[2]: 256
# refering to some name within
In [3]: x ** input("exp: ")
exp: x
Out[3]: 4
# just a function
In [4]: def f():
...: print('Hello from f')
...:
# can trigger anything from the outside, super unsafe
In [5]: input("prompt: ")
prompt: f()
Hello from f