1.bug的由来
1.bug错误1
1. age是字符串类型
2.i没有定义 ,括号是中文格式,i要加1 否则进入死循环
正确如下:
age = input("请输入年龄:")
if int(age) >=18:
print(age)
i = 0
while i<10:
print(i)
i+=1
2.bug错误2
等号是赋值,==才是比较
3.bug错误3
1.列表数组越界。
2.正确语法lst.append。而且一次只能添加一个元素
正确如下:
list = [1,2,3,4] #数组下表从0开始
print(list[3])
lis =[]
lis.append(12)
lis.append(13)
print(lis)
'''
4
[12, 13]
'''
列子:
#一个列表 有三个字典数组元素
lst =[{'rating':[9.7,14141],'id':'12','type':['犯罪','剧情'],'title':'肖申克的救赎','actors':['蒂姆','摩根']},
{'rating':[9.6,15667],'id':'13','type':['动作','爱情'],'title':'霸王别姬','actors':['张国荣','张丰毅','葛优']},
{'rating':[9.5,18798],'id':'14','type':['青春','剧情'],'title':'阿甘正传','actors':['汉克斯','怀特']},
]
name =input('请输入演员名字:')
for item in lst:
act_lst = item['actors']
'''
print(act_lst)
['蒂姆', '摩根']
['张国荣', '张丰毅', '葛优']
['汉克斯', '怀特']
act_lst 是列表类型
'''
for actor in act_lst:
'''
print(actor)
蒂姆
摩根
张国荣
张丰毅
葛优
汉克斯
怀特
actor 是字符串类型
'''
if name in actor:
print(name,'出演了',item['title'])
else:
print("演员不存在")
4.bug错误4
a字符这样输入转不了,除数不能为0
5.异常处理机制
1.try --except
try:
num1 = int(input('请输入第一个整数:'))
num2 = int(input('请输入第而个整数:'))
res = num1/num2
except ZeroDivisionError: #除数为0的捕获 捕获完正常结束
print('除数为0')
except ValueError:
print('不能将字符串转成数字')
print('结束')
2.try --except ---else
try:
num1 = int(input('请输入第一个整数:'))
num2 = int(input('请输入第而个整数:'))
res = num1/num2
except BaseException as e:
print('出错了',e)
else:
print("没有异常:",res)
3.try --except--else...finally
try:
num1 = int(input('请输入第一个整数:'))
num2 = int(input('请输入第而个整数:'))
res = num1/num2
except BaseException as e:
print('出错了',e)
else:
print("没有异常:",res)
finally:
print("不管有无异常都会执行")
5.bug总结
6.traceback模块
import traceback
try:
print('-------------------')
print(1/0)
except:
traceback.print_exc()
'''
-------------------
Traceback (most recent call last):
File "D:/pythonProject/dome1.py", line 41, in <module>
print(1/0)
ZeroDivisionError: division by zero
'''
7.Pycharm调试
i = 1
while(i < 10):
print(i)
i+=1
'''
先打断点,进入调试模式,下一步下一步往下调试
'''