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

Python如何实现支持单次输入四则运算表达式的计算器功能

单次输入表达式计算器修改方案

实现思路

你只需要把原来三次分步输入的逻辑改成单次输入后拆分内容即可,核心逻辑如下:

  • 单次获取用户输入的完整表达式,按空白符拆分得到「第一个数字、运算符、第二个数字」三个部分
  • 复用你原有成熟的运算符判断逻辑完成计算
  • 额外增加异常处理,覆盖输入格式错误、非数字输入、除零等常见异常场景,避免程序直接崩溃

修改后完整代码

# 单次获取输入
expr = input("请输入运算表达式(示例:3 * 3):").strip()
# 按空白符拆分输入
parts = expr.split()

# 先校验输入格式是否符合要求
if len(parts) != 3:
    print("输入格式错误,请按照「数字 运算符 数字」的格式输入,各部分用空格分隔")
else:
    try:
        num1 = float(parts[0])
        op = parts[1]
        num2 = float(parts[2])
        
        if op == "+":
            print(num1 + num2)
        elif op == "-":
            print(num1 - num2)
        elif op == "*":
            print(num1 * num2)
        elif op == "/":
            # 额外判断除数不能为0
            if num2 == 0:
                print("错误:除数不能为0")
            else:
                print(num1 / num2)
        else:
            print("请输入有效的运算符(支持+、-、*、/)")
    except ValueError:
        print("输入错误:数字格式非法,请输入正确的数字")

补充说明

  • 上述代码默认要求输入的表达式各部分用空格分隔,和你给出的示例格式完全匹配,就算不小心输入了多个空格也能正常识别
  • 如果你希望支持无空格的输入格式(比如3*3),可以引入正则表达式模块re来提取数字和运算符,示例匹配规则为re.findall(r'(\d+\.?\d*)([+\-*/])(\d+\.?\d*)', expr),你可以在掌握基础写法之后尝试修改

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 14:54:05