# 项目名称:Bug的由来
# 程序实现目的:
# 开发时间: 2020/12/8 14:23
# Bug的由来与分类
# 语法错误 SyntaxError
# age=input('请输入你的年龄')
# print(type(age))
# if int(age)>=18: # 注意比较间的数据类型
# print('成年人')
# 1、漏了末尾的冒号
# 2、缩进错误
# 3、把英文写成中文
# 4、字符串拼接的时候把字符串和数字拼在一起
# 5、没有定义变量
# 6、==比较运算符和=赋值运算符混用
# 索引越界问题 IndexError
lst=[11,22,33,44]
print(lst[3])
# append()方法使用不熟练
lst=[]
# lst=append('A','B') # append只能添加一个元素
lst.append('A')
print(lst)
# 思路不清导致的问题
# 1、使用print()函数
# 2、使用#暂时注释部分代码
# 题目要求:豆瓣电影Top250 排行榜,使用列表存储电影信息
# 要求输入名字在屏幕上显示xxx出演了哪部电影
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:
# for movie in item:
# actors=movie['actors']
# if name in actors:
# print(name,'出演了',movie)
# 改正完毕版本
# name=input('请输入你要查询的演员:')
# for item in lst: # 遍历列表-->{} item是一个又一个的字典
# act_lst=item['actors'] # 得到演员的列表
# for actor in act_lst: # 将演员赋值给actor
# 1、方法1
# if name in actor: # 分别判断是否包括演员的字
# print(name,'出演了',item['title'])
# for actor in act_lst: # 将演员赋值给actor
# 2、方法2
# if name in act_lst: # 分别判断是否包括演员的字
# print(name,'出演了',item['title'])
# for movie in item: # 遍历字典,得到movie是字典中的键(key)
# print(movie)
# actors=movie['actors']
# if name in actors:
# print(name,'出演了',movie)
# 被动掉坑:程序代码逻辑没错,因用户错误操作或者一些例外情况而导致的程序崩溃
# 解决方案:Python提供异常处理机制,可以在异常出现时即时捕获,然后内部消化,让程序继续运行
# 题目要求:输入两个整数并进行除法运算
# try: # 可能会出异常的代码
# a = int(input('请输入第一个整数:')) # 输入字母或者字母为0,会报错
# b = int(input('请输入第二个整数:'))
# result = a / b
# print('结果为:',result)
# except ZeroDivisionError: # 异常类型
# print('除数不能为0')
# except ValueError:
# print('只能输入数字串')
# print('程序结束!')
try: # 可能会出异常的代码
a = int(input('请输入第一个整数:')) # 输入字母或者字母为0,会报错
b = int(input('请输入第二个整数:'))
result = a / b
except BaseException as e: # 异常类型
print('出错了',e)
else:
print('计算结果为:',result)
finally: # 无论是否产生异常,都会被执行的代码
print('我来了!!!')
print('程序结束!')
# 异常总结
# 1、ZeroDivisionError除数为0
# 2、IndexError序列中没有此索引(index)
# 3、KeyError映射中每有这个键
# 4、NameError未声明、初始化对象(没有属性)
# 5、SyntaxError Python中语法错误
# 6、ValueError传入无效的参数
# 异常处理的模块
import traceback
try:
print('---------------')
print(1/0)
except:
traceback.print_exc()
# PyCharn开发环境下的调试
# 1、设置断点
# 2、进入调试视图(快捷键shift+F9)
想学Python的工程师学习之Bug
最新推荐文章于 2022-03-17 15:22:54 发布