脚本:
#!/usr/bin/python
for i in range(5):
value = input ("Enter the value : ")
print value
字符串作为输入:
$ ./fun+for.py
Enter the value : John
Traceback (most recent call last):
File "./fun+for.py", line 13, in <module>
value = input ("Enter the value : ")
File "<string>", line 1, in <module>
NameError: name 'John' is not defined
整数输入:
$ ./fun+for.py
Enter the value : 4
4
Enter the value : 5
5
Enter the value : 6
6
Enter the value : 7
7
Enter the value : 7
7
答案 0 :(得分:2)
因为在Python2中,您输入的字符串实际上是通过eval(),因此它会将John
作为变量名称进行搜索(尝试输入2+1
)。使用raw_input()
代替input()
(在python3中,input()
不再这样做。)
答案 1 :(得分:-2)
这是因为它是python 2;如果你在python 3中复制并粘贴这段代码,它会工作 - 我认为它更好。您将能够输入字符串,整数和双精度而不会收到错误。
for i in range(5):
value = input ("Enter the value : ")
print (value)
..希望这会有所帮助。