【发布时间】:2019-08-31 04:25:19
【问题描述】:
输入函数只接受整数作为输入,否则当我在 python 3 中使用 REPL 运行时收到此错误消息:
Entry:
b
Traceback (most recent call last):
File "Ex7.5.py", line 1, in <module>
a = input("Entry:\n")
File "<string>", line 1, in <module>
NameError: name 'b' is not defined
需要我的代码同时接受字母和数字作为输入,但不明白为什么不将 b 作为字符串并打印出来?
实际上只是试图让这个打印输入功能当前工作,然后在其他功能中使用。
如果我只用整数运行相同的代码,它就没有问题。
a = input("Entry:\n")
print(a)
print(type(a))
我期待的答案是 b。
【问题讨论】:
-
您的代码似乎没有任何问题,当我在这里运行它时,它具有您预期的行为。你用的是哪个版本的python?您可以通过命令
python --version看到这一点。 -
我在 Sublime 中使用 python 3,但如果我将它输入到终端 (mac) 我得到 python 2.7? raw_input 我也尝试过,但也没有用(想象一下,因为 Sublime 正在运行 Python 3)
-
如果你以
python3 Ex7.5.py运行它是否有效? -
/Library/Frameworks/Python.framework/Versions/3.7/Resources/Python.app/Contents/MacOS/Python:无法打开文件“Ex7.5.py”:[Errno 2]没有这样的文件或目录是错误信息吗?
-
因此,您在问题中描述的错误与您在 Python 2 而不是 Python 3 中运行代码这一事实有关。您在 cmets 中的另一个异常是关于未正确运行程序当您尝试显式使用 Python 3 时。
标签: python-3.x