购物车与异常.pdf

异常

image.png
异常是错误发生的信号,一旦程序出错应付产生一个异常,如果该异常没有被应用程序处理,那么,该异常就会抛出来,程序的执行也随之终止
异常包含三个部分:
1.异常的追踪信息
2.异常的类型
3.异常的信息
错误分为两大类:
1.语法上的错误,在程序运行前就应该立即修正;
2.逻辑上的错误,如变量没有名字、取了字典中没有的key值
进行异常处理的目的:
避免程序因为异常而崩溃,所以在应用程序中应该对异常进行处理,从而增强程序的健壮性。
image.png
image.png

不同类型异常的合并
image.png

常见报错:

NameError、TypeError、KeyError、IndexError

如何处理异常:

异常处理的单分支

(逐条捕获)
image.png

异常处理的多分枝

多分枝的异常捕获,当出现第一个异常的时候就会停止
image.png

  1. try:
  2. a #代码体1
  3. #代码体2 ......
  4. except NameError as f:
  5. print('检查一下你的代码') #当抛出的异常是NameError时执行的子代码块
  6. print(f)
  7. # except ....:
  8. # pass
  9. else:
  10. print("代码正确") #pass
  11. finally:
  12. print("完成了异常捕获") #pass
  13. print("12")

合并使用捕获:

  1. try:
  2. a #代码体1
  3. print('---------') #代码体2 ......
  4. print("====")
  5. print("------")
  6. L=[1,2]
  7. L[2]
  8. except (NameError,IndexError) as f:
  9. print('检查一下你的代码') #当抛出的异常是NameError时执行的子代码块
  10. print(f) #一旦捕获到异常,检查的代码体中余下的代码便不再运行
  11. else:
  12. print("代码正确") #pass
  13. finally:
  14. print("完成了异常捕获") #pass
  15. 结果
  16. 检查一下你的代码
  17. name 'a' is not defined
  18. 完成了异常捕获
  19. 12

万能捕获Exception

image.png

  1. try:
  2. print("------")
  3. L=[1,2]
  4. L[2]
  5. except Exception as f:
  6. print('检查一下你的代码')
  7. print(f) #一旦捕获到异常,检查的代码体中余下的代码便不再运行
  8. else:
  9. print("代码正确") #pass
  10. finally:
  11. print("完成了异常捕获") #pass
  12. print("12")
  13. 结果:
  14. ------
  15. 检查一下你的代码
  16. list index out of range
  17. 完成了异常捕获
  18. 12

自定义捕获

image.png

第一种方式:满足条件,抛出异常

  1. L=[1,2,3,4,5]
  2. print(len(L))
  3. if len(L) !=3:
  4. raise TypeError("自定义的的规则,列表的长度必须为3")

第二种方式: 断言

image.png

  1. L=[1,2,3,4,5]
  2. assert len(L)==6

购物车

这是一个简单是的项目,其目的:
1.熟悉python的语法规则,巩固day1到day5的知识点 2.业务逻辑
第一步:导入时间模块
image.png

enumerate 枚举

使用for循环同时将列表中的索引及值给取出来。
格式: for 变量1,变量2 in enumerate( )

  1. g=['erft','ewf','rqerge','ewf']
  2. for i, b in enumerate(g):
  3. print(i, b)
  4. 结果:
  5. 0 erft
  6. 1 ewf
  7. 2 rqerge
  8. 3 ewf

strip 去空格

它可用于输入函数以防止误输

  1. choice=input("请输入商品序号").strip() #strip是用来去空格

简单的购物流程:

成功登录 ,浏览商品与价格, 挑选商品 确定购买的商品与数量 计算总价 付款成功 购物结束

程序设计流程

登录系统

输入用户名,(用户名错误,重新输入。)
用户名正确,输入密码,(密码错误,重新输入,连续三次,锁定5秒)
密码正确,登录成功

商品展示

展示商品名称与价格以及对应序号 #浏览商品

商品购买

输入序号,挑选商品(同时展示商品价格),
判断输入语法对错,再进行下一步
输入数字,确定商品购买数量,(随即计算总价)。
判断输入语法对错,再进行下一步
最后判断确定商品名称与数量以及价格是否合适。(不合适则取消购买,返回商品展示区)
确定购买

付款

判断余额是否充足,充足则输入密码(判断输入语法对错)购买成功
不充足,则提醒充值后购买。