bug的常见类型
粗心 / 没有好习惯
思路不清
lst=[{'rating':[9.7,2062397],'id':'1292052','type':['犯罪','剧情'],'title':'肖申克的救赎','actors':['蒂姆·罗宾斯','摩根·弗里曼']},
{'rating':[9.6,1528760],'id':'1291546','type':['剧情','爱情','同性'],'title':'霸王别姬','actors':['张国荣' ,'张丰毅' , '巩俐' ,'葛优']},
{'rating':[9.5,1559181],'id':'1292720','type':['剧情','爱情'],'title':'阿甘正传','actors':['汤姆·汉克斯','罗宾·怀特 ']}
]
name=input('请输入你要查询的演员:')
for item in lst: #遍历列表 -->{} item是一个又一个的字典
act_lst=item['actors']
for actor in act_lst:
if name in actor:
print(name,'出演了',item['title'])
'''
for movie in item: #遍历字典,得到movie 是一个字典中的key
print(movie)
print('-----------------------')
actors=movie['actors']
if name in actors:
print(name+'出演了:'+movie)
'''
被动掉坑
try-except-else结构与try-except-else-finally结构
不同异常的处理方式:
try…except…else
try…except…else…finally
异常类型:zerodivisionerror 除(或取模)零(所有数据类型)
indexerror 序列中没有此索引(index)
keyerror 映射中没有这个键
nameerror 未声明 /未初始化对象(没有属性)
syntaxerror python语法错误
valueerror 传入无效参数
pycharm的调试模式
断点:程序运行到此处,占时挂起,停止执行,此时可以详细观察程序运行情况,
方便做出进一步判断(代码行左边点一下,出现的红点就是断点)
进入调试视图:
1、单击工具栏上的“小虫子”按钮
2、右键点击编辑区:点debug模块名
3、快捷键 shift+f9
‘’’
一、
try:
a=int(input('请输入第一个整数:'))
b=int(input('请输入第二个整数:'))
c=a/b
except BaseException as e:
print('出错了',e)
else:
print('结果等于:',c)
二、
try:
a=int(input('请输入第一个整数:'))
b=int(input('请输入第二个整数:'))
c=a/b
except BaseException as e:
print('出错了',e)
else:
print('结果等于:',c)
finally:
print('谢谢使用')
#断点调试
i = 0
while i < 11:
print(i)
i += 1
python常见错误类型
(1)zeroDivisionError;除零
(2)indexError;序列中没有此索引
(3)KeyError;映射中没有这个键
(4)NameError;未声明/初始化对象(没有属性)
(5)SytaxError;语法错误
(6)ValueError;传入无效的参数
python的异常处理机制
#print(10/0)
import traceback
try:
print('---------------------')
print(1/0)
except:
traceback.print_exc()