每天一点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
程序结束

'''
相关推荐
auto_go25 分钟前
Python 实战指南(7)——账本动不动就崩?先把“魔法字符串”和“裸报错”干掉
python
Beyond_System|系统之外25 分钟前
【学编程】Python基础编程题100道(21-60)
开发语言·python·算法
根目录下的猫40 分钟前
RK3588适配的轻量级AI模型推荐
人工智能·后端·python·目标检测
wno7041 小时前
Spring Security权限控制
java·python·spring
ShineWinsu2 小时前
对于Coze—AI:SDK的解析
人工智能·python·ai·sdk·项目·coze·字节跳动
右耳朵猫AI2 小时前
Python周刊2026W38 | 标准流编码修复、PEP 845/846 草案、解析器提速 10%、集合字典二次复杂度
python·ai·数据科学
微软技术分享2 小时前
大模型网络结构:模型接口测试用例参考
python
Bruce_Liuxiaowei3 小时前
Python 实例赋值遮蔽类属性:一个从不报错的静默陷阱
开发语言·python·语法糖
做运维的阿瑞4 小时前
Python 标准库汇总:分类速览与常用模块清单
linux·运维·python
why-geo4 小时前
Hermes Agent 与 Python 的会产生什么样的碰撞
人工智能·python·ai编程