我是一名新的Python用户,我一直在研究许多教程。这包括从命令提示符运行一些代码。当我第一次测试代码时这很好用,但由于某种原因它似乎已停止工作,我现在在使用Input()时遇到错误。我已经包含了下面的代码和我收到的错误消息。
代码:
import sys
print (sys.version)
print("hello world")
myName = input("What is your name?")
print(myName)
if (myName == "Matt"):
print("Matt is great!")
elif (myName == "Bob"):
print("Bob is ok")
else:
print("Hello world")
input("Press enter to continue")
错误讯息:
C:\Users\matt.xxxx>cd C:\Python34\Scripts\Projects
C:\Python34\Scripts\Projects>helloworld.py
2.7.7 (default, Jun 1 2014, 14:21:57) [MSC v.1500 64 bit (AMD64)]
hello world
What is your name?Matt
Traceback (most recent call last):
File "C:\Python34\Scripts\Projects\helloworld.py", line 6, in <module>
myName = input("What is your name?")
File "<string>", line 1, in <module>
NameError: name 'Matt' is not defined
C:\Python34\Scripts\Projects>
我知道在使用旧版本的python时可能会发生这种情况,但我已经检查过,我相当确定我使用的是3.4版本(使用import sys等检查)。我最近安装了PyCharm,这是我能想到的唯一改变的东西。该代码适用于PyCharm和IDLE,但不适用于命令提示符。任何帮助将不胜感激。
答案 0 :(得分:1)
从您的示例中,我相信您正在使用 - helloworld.py
运行脚本 - 这会导致Windows查找与扩展程序.py
关联的默认应用程序并运行它。
我猜你安装PyCharm时,它以某种方式使Python 2.7.7成为.py
文件的默认应用程序(或者从一开始就是这样)所以当你直接运行{{1}时他们使用Python 2.7.7运行文件(甚至从命令提示符开始)。
您在评论中说,直接从命令提示符运行.py
时,您将获得python 3.4,因此解决问题的最简单方法是使用它来运行脚本。
使用命令 -
运行它python
作为长期解决方案,您可能需要考虑更改与python helloworld.py
文件关联的默认应用程序。您可以查看this link以获取有关如何操作的指南