目录
一、Bug
粗心导致的语法错误
编辑 知识不熟练导致的错误
思路不清晰导致的问题
被动掉坑
二、try…except…else结构
三、try…except…else…finally结构
四、常见异常类型编辑traceback模块
pycharm调试
一、Bug
粗心导致的语法错误
知识不熟练导致的错误
代码中append方法是lst的方法,append每次只能添加一个元素
思路不清晰导致的问题
lst=[{'rating':[9.7,206287],'id':'129052','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'])
# print(act_lst)
# for movie in item: #遍历字典,得到movie是一个字典中的key
# print(movie)
# actors=movie['actors']
# if name in actors:
# print(name+'出演了'+movie)
被动掉坑
try:
a = int(input('请输入第一个整数'))
b = int(input('请输入第二个整数'))
result = a / b
print('结果为:', result)
except ZeroDivisionError:
print('除数不能为0!')
except ValueError:
print('请输入数字串!')
except BaseException as e:
print(e)
print('程序结束')
二、try…except…else结构
try:
a = int(input('请输入第一个整数'))
b = int(input('请输入第二个整数'))
result = a / b
except BaseException as e:
print('出错了,错误为:',e)
else:
print('结果为:', result)
print('程序结束')
# 请输入第一个整数a
# 出错了,错误为: invalid literal for int() with base 10: 'a'
# 程序结束
# 请输入第一个整数10
# 请输入第二个整数0
# 出错了,错误为: division by zero
# 程序结束
三、try…except…else…finally结构
try:
a = int(input('请输入第一个整数'))
b = int(input('请输入第二个整数'))
result = a / b
except BaseException as e:
print('出错了,错误为:',e)
else:
print('结果为:', result)
finally:
print('谢谢您的使用')
print('程序结束')
# 请输入第一个整数10
# 请输入第二个整数3
# 结果为: 3.3333333333333335
# 谢谢您的使用
# 程序结束
四、常见异常类型traceback模块
import traceback
try:
print('1.____________')
num=10/0
except:
traceback.print_exc()
pycharm调试