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

Python如何提取字符串表达式中的运算符完成列表内算术运算

实现方案

你当前逐字符转列表的处理方式不适合当前场景:所有输入表达式都以空格为固定分隔符,直接按空格切割就能一次性提取出两个运算数和运算符,不需要逐字符遍历识别。

核心逻辑

  1. 用字符串的split()方法按空格拆分输入,会直接返回长度为3的列表,三个元素依次是左操作数、运算符、右操作数,哪怕是双字符的//运算符也会被完整提取,不会被拆成单个字符
  2. 把提取到的两个操作数从字符串转为整数类型
  3. 用字典建立运算符到对应运算逻辑的映射,避免写多层if-else判断,直接根据提取到的运算符取对应逻辑计算即可

可运行代码

# 读取输入表达式
expr = input("Enter: ")
# 按空格拆分表达式
left_operand, operator, right_operand = expr.split()
# 转换操作数为整数
a = int(left_operand)
b = int(right_operand)

# 配置运算规则映射
calculator = {
    '+': lambda x, y: x + y,
    '-': lambda x, y: x - y,
    '*': lambda x, y: x * y,
    '//': lambda x, y: x // y
}

# 执行计算并输出
res = calculator[operator](a, b)
print(res)

测试效果

  • 输入12 + 24,输出36
  • 输入23 - 21,输出2
  • 输入12 // 12,输出1
  • 输入12 * 21,输出252

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 02:12:31