知识点回顾: 1.异常处理机制 2.debug过程中的各类报错 3.try-except机制 4.try-except-else-finally机制
在即将进入深度学习专题学习前,我们最后差缺补漏,把一些常见且重要的知识点给他们补上,加深对代码和流程的理解。 作业:理解今日的内容即可,可以检查自己过去借助ai写的代码是否带有try-except机制,以后可以尝试采用这类写法增加代码健壮性。
问题描述
编写一个程序,要求用户输入两个整数,并计算它们的商。如果用户输入的不是整数,或者除数为零,程序应捕获这些异常并输出相应的错误信息。
解决方案
使用 try-except
机制来处理可能的异常情况,包括输入非整数和除数为零的情况。
try:
# 获取用户输入
num1 = int(input("请输入第一个整数: "))
num2 = int(input("请输入第二个整数: "))
# 计算商
result = num1 / num2
# 输出结果
print(f"{num1} 除以 {num2} 的结果是: {result}")
except ValueError:
# 处理输入非整数的情况
print("输入错误:请输入有效的整数。")
except ZeroDivisionError:
# 处理除数为零的情况
print("错误:除数不能为零。")
解释
try
块中包含可能引发异常的代码,包括用户输入和除法运算。except ValueError
捕获用户输入非整数时的异常,并输出错误信息。except ZeroDivisionError
捕获除数为零时的异常,并输出错误信息。
示例运行
请输入第一个整数: 10
请输入第二个整数: 2
10 除以 2 的结果是: 5.0
请输入第一个整数: 10
请输入第二个整数: 0
错误:除数不能为零。
请输入第一个整数: abc
输入错误:请输入有效的整数。
通过这种方式,程序能够优雅地处理用户输入错误和除数为零的情况,避免程序崩溃。