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 是一个字典中的keyprint(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 = 0while 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()