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

'''
相关推荐
web3.088899916 分钟前
1688图片搜索API,相似商品精准推荐
开发语言·python
少云清25 分钟前
【性能测试】15_JMeter _JMeter插件安装使用
开发语言·python·jmeter
光羽隹衡1 小时前
机器学习——TF-IDF实战(红楼梦数据处理)
python·tf-idf
2401_894828122 小时前
从原理到实战:随机森林算法全解析(附 Python 完整代码)
开发语言·python·算法·随机森林
B站计算机毕业设计超人2 小时前
计算机毕业设计Python知识图谱中华古诗词可视化 古诗词情感分析 古诗词智能问答系统 AI大模型自动写诗 大数据毕业设计(源码+LW文档+PPT+讲解)
大数据·人工智能·hadoop·python·机器学习·知识图谱·课程设计
玄同7652 小时前
Python「焚诀」:吞噬所有语法糖的终极修炼手册
开发语言·数据库·人工智能·python·postgresql·自然语言处理·nlp
johnny2332 小时前
Python管理工具:包、版本、环境
python
羽翼.玫瑰2 小时前
关于重装Python失败(本质是未彻底卸载Python)的问题解决方案综述
开发语言·python
cdut_suye2 小时前
解锁函数的魔力:Python 中的多值传递、灵活参数与无名之美
java·数据库·c++·人工智能·python·机器学习·热榜
木头左2 小时前
指数期权备兑策略量化实现
python