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

如何在Python简易计算器中实现运算完成后重启新计算的功能

Python计算器循环重启实现方案

需求说明

我用Python编写了一个简易计算器,它的运行逻辑为:先询问用户要执行的运算类型(如加法),再依次要求输入第一个数和第二个数,最终输出运算结果。

假设我选择加法,
第一个数: 1
第二个数: 1
结果: 2

我希望运算结果输出后,计算器提示:输入{x}以开始新的计算
用户输入指定字符(x可自定义为任意字符)后,计算器即可重启整个流程,执行新的运算。

修改后可实现循环重启的完整代码

# 自定义重启触发字符,可修改为任意你想要的字符
RESTART_CHAR = 'x'

while True:
    print("请选择你要执行的运算类型:")
    print("输入 + 执行加法")
    print("输入 - 执行减法")
    print("输入 * 执行乘法")
    print("输入 / 执行除法")

    op = input('请输入你的选择:')

    if op == '+' :
        num1 = float(input("请输入第一个数字:"))
        num2 = float(input("请输入第二个数字:"))
        add = num1 + num2
        print("{0} + {1} = {2}".format(num1, num2, add))
    elif op == '-' :
        num1 = float(input("请输入第一个数字:"))
        num2 = float(input("请输入第二个数字:"))
        sub = num1 - num2
        print("{0} - {1} = {2}".format(num1, num2, sub))
    elif op == '*' :
        num1 = float(input("请输入第一个数字:"))
        num2 = float(input("请输入第二个数字:"))
        multi = num1 * num2
        print("{0} * {1} = {2}".format(num1, num2, multi))
    elif op == '/' :
        num1 = float(input("请输入第一个数字:"))
        num2 = float(input("请输入第二个数字:"))
        # 可选优化:增加除零判断,避免程序崩溃
        if num2 == 0:
            print("除数不能为0,运算失败")
        else:
            division = num1 / num2
            print("{0} / {1} = {2}".format(num1, num2, division))
    else :
        print("输入的运算类型有误,请检查后重试")
    
    # 重启判断逻辑
    user_input = input(f"输入{RESTART_CHAR}以开始新的计算,输入其他内容退出程序:")
    if user_input.strip() != RESTART_CHAR:
        break

实现说明

  • 顶部的RESTART_CHAR变量可以自定义为任意你想要的触发字符,修改后提示文本和判断逻辑会同步生效
  • 新增的while True无限循环包裹了全部计算逻辑,每次循环对应一次完整的计算流程
  • 每次计算完成后会等待用户输入,只有输入和RESTART_CHAR完全匹配的内容才会开启下一轮计算,否则程序直接退出
  • 额外增加了除零判断逻辑,避免输入除数为0时程序直接崩溃,不需要可直接删除

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 04:24:05