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

'''
相关推荐
用户27784491049932 小时前
借助DeepSeek智能生成测试用例:从提示词到Excel表格的全流程实践
人工智能·python
JavaEdge在掘金4 小时前
ssl.SSLCertVerificationError报错解决方案
python
我不会编程5555 小时前
Python Cookbook-5.1 对字典排序
开发语言·数据结构·python
老歌老听老掉牙5 小时前
平面旋转与交线投影夹角计算
python·线性代数·平面·sympy
满怀10155 小时前
Python入门(7):模块
python
无名之逆5 小时前
Rust 开发提效神器:lombok-macros 宏库
服务器·开发语言·前端·数据库·后端·python·rust
你觉得2055 小时前
哈尔滨工业大学DeepSeek公开课:探索大模型原理、技术与应用从GPT到DeepSeek|附视频与讲义下载方法
大数据·人工智能·python·gpt·学习·机器学习·aigc
啊喜拔牙6 小时前
1. hadoop 集群的常用命令
java·大数据·开发语言·python·scala
__lost7 小时前
Pysides6 Python3.10 Qt 画一个时钟
python·qt