对于数学计算器有三个基本要求:完整的IO过程,正确的运算,基本的防错处理。
def calculator():
try:
num1 = int(input("请输入第一个整数: "))
num2 = int(input("请输入第二个整数: "))
if num1 > 100 or num2 > 100 or num1 < 0 or num2 < 0:
raise ValueError("超出范围:输入值不能大于100且不能小于0!")
operation = input("请输入运算类型(+,-,*,/): ")
if operation == '+':
result = num1 + num2
elif operation == '-':
result = num1 - num2
elif operation == '*':
result = num1 * num2
elif operation == '/':
if num2 == 0:
raise ZeroDivisionError("除数不能为零!")
result = num1 / num2
else:
raise ValueError("无效的运算类型!")
print(f"计算结果为: {result}")
except ValueError as ve:
print("输入错误!", ve)
except ZeroDivisionError as zde:
print("0除异常捕获:", zde)
except Exception as e:
print(f"发生错误: {e}")
calculator()
代码分析:
代码可能运行错误如下
1 运算符错误:即非加减乘除的四则运算符号
2 0除错误:运算中除数不能为0
3 超出范围
解决方案
1在加减乘除运行前进行判断
2 用try 对除数为0 的错误进行捕获
3,在运算之前进行捕获
运行结果如下
防止除数为0
超出范围
运算符错误
正常发布结果
514

被折叠的 条评论
为什么被折叠?



