很多时候我们在写代码的时候,可能都会遇到代码没有提示错误,但输出结果会报错,这个时候我们就需要根据提示信息来解决这些问题,下面我们一起来学习一下。
1:TypeError: must be str, not int 类型错误
name = '小王'
age = 20
print('我的姓名是:'+ name +'我的年龄是'+age)
这种情况就会出现上面的提示,原因是使用加号拼接必须是字符串,不能是数字。
解决办法:将age=20改为age='20'
2:SyntaxError: invalid syntax 语法错误
name = '张三'
if name = '张三':
print('你好')
这种错误提示是无效语法,这里的=相当于赋值,所以报错
解决办法:将if name='张三':改为if name=='张三':
3:IndentationError: expected an indented block 缩进错误
money = 100
if money
print('买不了lv')
else:
print('可以买')
这种错误也比较常见,最后一行输出语句没有对齐
解决办法:tab自动缩进
4:IndexError: list index out of range 索引错误
age = [2,3,8,9,7]
print(age[5])
超出字符串范围,因为上面字符串索引只有0到4,第5个索引没有
解决办法:查看字符串长度,索引要小于长度
5:ValueError: substring not found 值错误
str = 'hello world'
result = str.index('z')
print(result)
找到z对应索引值,很显然str里没有z,所以提示错误
解决办法;改为能找到的元素
6:AttributeError: 'tuple' object has no attribute 'remove' 属性错误
user = (0,1,2,3,4,5)
user.remove(1)
print(user)
元组对象是没有remove属性的
7:KeyError: 'height' 键错误
dic = {
'name':'小李子',
'age':40
}
print(dic['height'])
找不到指定的键值'height'
解决办法:找到有效键值。