每天一点python——day83

复制代码
#每天一点Python——83
#python报错原因
python 复制代码
'''
bug:
在计算机程序中,bug是指程序中的错误或故障,导致程序不能按照预期执行或产生不正确的结果。
这种错误可能是由编码或设计错误、运行环境不一致、输入数据异常等多种原因导致的。

常见的bug类型包括以下几种:
语法错误:程序员在编写代码时使用了不符合语法规则的语句或表达式,导致程序无法正常编译或运行。
逻辑错误:程序员在编写代码时错误地理解了问题,导致程序没有按照预期执行或产生不正确的结果。
数据错误:程序员在处理数据时出现了错误,导致程序无法正确处理数据或产生错误的输出。
界面错误:程序的用户界面存在问题,如按钮无法按下、菜单无法打开等。
性能错误:程序在处理大量数据或执行复杂操作时运行缓慢或崩溃。
安全错误:程序存在安全漏洞,可能被黑客攻击或注入恶意代码。
兼容性错误:程序在不同的平台或软件版本上存在兼容性问题,导致程序无法正常运行或表现异常。
总之,在软件开发过程中,需要注意各种类型的bug,采取有效的测试和调试方法,及时发现和修复bug,确保软件的稳定性和正确性。
'''
#综上所述:就是练练练,在实践中得到经验
python 复制代码
'''
被动掉坑:
程序代码逻辑没有错,是因为用户的错误操作或者一些例外情况导致程序崩溃
被动掉坑异常处理机制:try---except
可以在异常出现的时候进行捕获,然后内部'解决',让程序继续运行
'''
python 复制代码
'''
#示例:输入两个整数并且进行除法运算:
a=int(input('请输入第一个整数:'))
b=int(input('请输入第二个整数:'))
r=a/b
print('结果为:',r)
'''
一般用户在操作这串代码时候,不小心输入了错误的字母
或者是输入了0做除数,所以报错【因为字母转不了整数,0不可以做除数】
这种情况就用到异常处理机制try---except
因为程序一旦出错,他就会不再运行
try:
    可能出现异常的代码
execept xxxxx【异常类型】:
    异常处理代码【报错后执行的代码】
'''
python 复制代码
#譬如我不小心输入了0做除数
a=int(input('请输入第一个整数:'))
b=int(input('请输入第二个整数:'))
r=a/b
print('结果为:',r)
'''
我输入的结果如下:
请输入第一个整数:4
请输入第二个整数:0
Traceback (most recent call last):
  File "C:\Admin\AppData\Roaming\JetBrains\PyCharmCE2022.2\scratches\scratch_2.py", line 43, in <module>
    r=a/b
ZeroDivisionError: division by zero
ZeroDivisionError就是他的异常类型
'''
python 复制代码
#我们就可以把代码改为:
try:
    a = int(input('请输入第一个整数:'))
    b = int(input('请输入第二个整数:'))
    r=a/b
    print('结果为:',r)
except ZeroDivisionError:
    print('除数不能为0')
print('程序结束')
'''
输出结果:【处理了异常情况,程序继续执行】
请输入第一个整数:4
请输入第二个整数:0
除数不能为0
程序结束
'''
'''
要是我们不小心没输入数据呢?
结果 
请输入第一个整数:3
请输入第二个整数:
Traceback (most recent call last):
    b = int(input('请输入第二个整数:'))
ValueError: invalid literal for int() with base 10: ''
#这个时候异常就与之前的异常不一样,
当捕获的异常和你出现的异常类型不一致的时候
可以采用多个except结构:
'''
python 复制代码
#多个except结构:
'''
捕获异常的顺序按
照先子类后父类的顺序,为了避免遗漏可能出现的异常,可以在最后增加BaseException
【释义:就是先捕捉小的,再捕捉大的】
try:
    可能会出异常的代码
except xxx【异常类型1】:
    异常处理代码
except xxx【异常类型2】:
    异常处理代码
except BaseException【最大的异常类型】:
    异常处理代码
'''
#代码演示:
try:
    a = int(input('请输入第一个整数:'))
    b = int(input('请输入第二个整数:'))
    r=a/b
    print('结果为:',r)
except ZeroDivisionError:
    print('除数不能为0')
except ValueError:
    print('只能输入数字串')
print('程序结束')
'''
三种主动输错结果演示:
请输入第一个整数:1
请输入第二个整数:
只能输入数字串
程序结束

请输入第一个整数:a
只能输入数字串
程序结束

请输入第一个整数:1
请输入第二个整数:0
除数不能为0
程序结束

'''
相关推荐
风儿你慢慢吹14 分钟前
python __init__.py的意义与使用
python
superman超哥18 分钟前
仓颉语言中网络套接字封装的深度剖析与工程实践
c语言·开发语言·c++·python·仓颉
陈天伟教授23 分钟前
人工智能训练师认证教程(4)OpenCV 快速实践
人工智能·python·神经网络·opencv·机器学习·计算机视觉
RAY_01041 小时前
Python—数据可视化pyecharts
开发语言·python
Lvan的前端笔记1 小时前
python:用 dotenv 管理环境变量&生产环境怎么管理环境变量
网络·数据库·python
Java Fans1 小时前
用PyQt打造带动画、碰撞检测和键盘控制的小游戏
python·计算机外设·pyqt
深蓝海拓1 小时前
PySide6从0开始学习的笔记(十一) QSS 属性选择器
笔记·python·qt·学习·pyqt
AAA_bo11 小时前
liunx安装canda、python、nodejs、git,随后部署私有网页内容提取工具--JinaReader全攻略
linux·python·ubuntu·typescript·aigc·python3.11·jina
高洁011 小时前
DNN案例一步步构建深层神经网络(3)
python·深度学习·算法·机器学习·transformer
AI_56782 小时前
Jupyter交互式数据分析的效率革命
开发语言·python