1、>>> print "Hello,world!"
SyntaxError: Missing parentheses in call to 'print'
问题原因:3.x版本中print是一个函数,需要加上括号
>>> print ("Hello,world!")
Hello,world!
2、>>> x=input("x: ")
x: 2
>>> y=input("y: ")
y: 3
>>> print (x*y)
Traceback (most recent call last):
File "", line 1, in
print(x*y)
TypeError: can't multiply sequence by non-int of type 'str'
问题原因:3.x版本的input函数默认返回字符串类型
>>> print(int(x)*int(y))
3、将脚本
name = raw_input("What is your name?")
print ("Hello,"+ name + "!")
保存后运行,报错如下
============== RESTART: D:/Python/Python36-32/scripts/hello.py==============
Traceback (most recent call last):
File "D:/Python/Python36-32/scripts/hello.py",line 1, in
name =raw_input("What is your name?")
NameError: name 'raw_input' is not defined
问题原因:3.x版本之后使用input函数
name = input("What is your name?")
4、使用字典方法has_key报错
>>> d={}
>>> d.has_key('name')
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
d.has_key('name')
AttributeError: 'dict' object has no attribute 'has_key'
问题原因:3.x版本之后不包括此函数。
可用成员资格运算符 in 代替
>>> 'name' in d
True
5、SyntaxError: unexpected indent
缩进错误
6、使用shelve.open('E:\python\database.dat')出现dbm.error: db type could not be determined
问题原因:数据处理模块shelve会自动为文件添加扩展名
解决办法:去掉.bat即可