Python防错处理编程写一个计算器

对于数学计算器有三个基本要求:完整的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超出范围

运算符错误

正常发布结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值