You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何实现计算器连续计算,且避免除零错误导致程序崩溃?

持续运行+除零错误修复后的计算器实现
def calculation():
    # 捕获输入格式错误
    try:
        num1 = float(input("请输入第一个运算数(输入q可退出程序):"))
        num2 = float(input("请输入第二个运算数:"))
    except ValueError:
        # 判断是否触发退出指令
        input_val = num1 if 'num1' in locals() else num2
        if str(input_val).lower() == 'q':
            print("程序已退出")
            exit()
        print("错误:请输入合法的数字")
        return
    
    op = input("请输入运算符(支持+、-、*、/):")

    if op == "+":
        print(f"计算结果:{num1 + num2}")
    elif op == "-":
        print(f"计算结果:{num1 - num2}")
    elif op == "/":
        # 捕获除零异常,避免程序崩溃
        try:
            result = num1 / num2
            print(f"计算结果:{result}")
        except ZeroDivisionError:
            print("错误:除数不能为零")
    elif op == "*":
        print(f"计算结果:{num1 * num2}")
    else:
        print("错误:输入的运算符不合法")

if __name__ == "__main__":
    print("简易计算器已启动,每次计算完成后自动进入下一轮运算")
    # 无限循环实现持续运行,无需额外触发
    while True:
        calculation()
        # 分隔每次计算的输出,提升可读性
        print("-" * 30)
关键改动说明
  • 持续运行实现:在外层添加while True无限循环,每次计算完成后自动回到输入等待状态,无需手动触发下一次计算;额外增加了主动退出逻辑,输入q即可终止程序,符合使用习惯。
  • 除零错误修复:给除法运算逻辑包裹try-except ZeroDivisionError异常捕获块,触发除零操作时直接输出友好提示,不会导致程序崩溃退出。
  • 额外兼容性优化:新增输入格式异常捕获,当用户输入非数字内容作为运算数时,也会输出提示而不是直接崩溃。

内容的提问来源于stack exchange,提问作者An613

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 14:06:03