从零开始的python学习(六)P86+P87+P88

本文章记录观看B站python教程学习笔记和实践感悟,视频链接:【花了2万多买的Python教程全套,现在分享给大家,入门到精通(Python全栈开发教程)】 https://www.bilibili.com/video/BV1wD4y1o7AS/?p=6\&share_source=copy_web\&vd_source=404581381724503685cb98601d6706fb

上节课学习bug的由来和分类,python中的异常处理,raise关键字的使用,python中常见的异常类型,PyCharm的程序调试,本节课学习本章总结和章节选择题,实战一:输入成绩如果不正确手动抛出异常,实战二:判断是否构成三角形。

1.本章总结

该题目选c,就是什么都没有指定,则把所有的异常全都捕获。

该题目选A,四个选项,第一个为语法错误,第二个是被0除的异常,第三个是属性或方法名不存在,第四个是没有定义的错误。

第四题选,indentationError表示的是缩进问题。

总结一下TypeError,ZeroDivisionError,NameError,SyntaxError,IndentationError四个单词分别代表的错误为:

1.TypeError,就是类型错误,比如字符串类型和整数类型连接一起。

2.ZeroDivisionError,就是0不可以为除数出现的错误。

3.NameError就是没有定义的变量出现时,会出现名字错误(不知道它是谁),比如

4.SyntaxError,就是当我们写出不符合python语法的代码的时候,在解析时会报错,并且会显示在出错在哪一行,并用小箭头指明最早探测到错误的位置。

5.IndentationError表示的是缩进问题。

2.实战一

python 复制代码
#捕获异常对象的基本框架,先让语法结构这样就不会报错
try:
    pass
except Exception as e:
    pass

完整代码如下所示:

python 复制代码
try:
    score=eval(input('请输入分数: ')) #解释一下为什么是eval,因为我们希望在第六行这个位置报错,如果是int,就会在这一行就报错,这样报错就变成了a不是整数无法转成int类型
    if 0<=score<=100:
        print('分数为:',score)
    else:
        raise Exception('分数不正确')
except Exception as e:
    print(e)

3.实战二

代码如下:

python 复制代码
try:
    a=int(input('请输入第一条边长:'))
    b=int(input('请输入第二条边长:'))
    c=int(input('请输入第三条边长:'))
    if a+b>c and a+c>b and b+c>a:
        print('三角形的边长为:',a,b,c)#这里也可以是 print(f'三角形的边长为:{a},{b},{c}')
        
    else:
        #注意,这里不能直接写Exception(a,b,c,'不能构成三角形'),因为直接这么写返回的是元组(1, 2, 3, '不能构成三角形')
        raise Exception(f'{a},{b},{c},不能构成三角形') #这里的f'是格式化字符串
except Exception as e:
    print(e)

这样可以保证是在第九行抛出异常。结果如下:

本节完

相关推荐
o_insist3 分钟前
LangChain1.0 实现 PDF 文档向量检索全流程
人工智能·python·langchain
victory04314 分钟前
大模型学习阶段总结和下一阶段展望
深度学习·学习·大模型
脑洞AI食验员8 分钟前
智能体来了:用异常与文件处理守住代码底线
人工智能·python
程序猿零零漆8 分钟前
Spring之旅 - 记录学习 Spring 框架的过程和经验(十三)SpringMVC快速入门、请求处理
java·学习·spring
曾浩轩17 分钟前
跟着江协科技学STM32之4-5OLED模块教程OLED显示原理
科技·stm32·单片机·嵌入式硬件·学习
曲幽20 分钟前
FastAPI登录验证:用OAuth2与JWT构筑你的API安全防线
python·fastapi·web·jwt·token·oauth2
幻云201022 分钟前
Next.js指南:从入门到精通
开发语言·javascript·人工智能·python·架构
CCPC不拿奖不改名30 分钟前
网络与API:从HTTP协议视角理解网络分层原理+面试习题
开发语言·网络·python·网络协议·学习·http·面试
却道天凉_好个秋31 分钟前
音视频学习(八十四):视频压缩:MPEG 1、MPEG 2和MPEG 4
学习·音视频
nervermore99033 分钟前
3.2 django框架
python