我从下面的一些书中得到了一个python代码,但它运行异常.
# name.py
name = input('What is your first name? ')
print('Hello ' + name.capitalize() + '!')
Run Code Online (Sandbox Code Playgroud)
结果是:
$ python name.py
What is your first name? jack
Traceback (most recent call last):
File "name.py", line 3, in <module>
name = input('What is your first name? ')
File "<string>", line 1, in <module>
NameError: name 'jack' is not defined
Run Code Online (Sandbox Code Playgroud)
这有什么问题?谢谢!
那本书是为Python 3编写的.旧的Python 2 input()函数与Python 3的工作方式不同input().正如troolee链接的文档中所提到的,Python 2 input()相当于eval(raw_input(prompt)),这很方便,但由于任何输入字符串都被评估,因此也可能是危险的.
因此,要在Python 2上运行Python 3代码示例,您需要使用替换input()调用raw_input().
还有其他差异会导致Python 3代码在Python 2上无法工作(或至少工作方式不同).特别是,printPython 3中不再存在旧语句,它已被print()函数替换.一些Python 3 print()函数调用可以在Python 2上运行,但有些不会.
| 归档时间: |
|
| 查看次数: |
4096 次 |
| 最近记录: |