【发布时间】:2016-04-07 13:58:03
【问题描述】:
这是我编写的一些基本代码:
userInput = input("Type in a random word:\n")
print("Here are the letters in that word")
for letters in userInput:
print(letters)
完全可以在 3.5 shell/IDLE 中运行,但不能在我的终端中运行... 这是我将输入作为“测试”时的错误:
NameError: name 'test' is not defined
有什么帮助吗?
【问题讨论】:
-
您是否在
python控制台中执行此操作(即,在>>>提示符下)?在 Python 3 REPL 中使用原始输入读取器(如input()函数)是有问题的,因为 REPL 已经在读取原始输入。尝试将相同的代码放入文件(例如,“foo.py”)并运行它(例如,python3 foo.py)。这在我的机器上对我来说很好。 -
不,我将它保存为 ForLoopTest.py ,它仍然给我终端错误。当我得到用户输入时,这个错误仍然存在于我的很多练习文件中。
-
运行
python -V以查看您在终端中运行的解释器版本。 -
哦,我明白了。它说我正在运行 Python 2.7.5 我该如何改变它
-
检查是否安装了 Python 3:
which python3。如果是你运行你的程序python3 foo.py就像上面提到的@BrianClapper。如果它不可用,则必须安装 Python 3。
标签: python python-2.7 python-3.x io terminal