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

Python顺序算术运算实现:将重复if-else转换为for/while循环

优化实现方案

首先修正原代码的不规范写法:不要使用int、sum这类Python内置关键字/函数名作为自定义变量名,否则会覆盖原有内置功能,后续触发难以排查的错误。

你可以通过for循环+操作符映射的方式简化重复的if-else逻辑,同时支持任意长度的合法输入(只要数字列表长度比操作符列表长度多1即可),实现代码如下:

# 输入数据
num_list = [1, 6, 8, 4]
op_list = ['+', '-', '*']

# 操作符映射字典,key为操作符字符串,value为对应的运算逻辑
op_map = {
    '+': lambda a, b: a + b,
    '-': lambda a, b: a - b,
    '*': lambda a, b: a * b,
    '/': lambda a, b: a / b
}

# 初始结果取数字列表第一个值
result = num_list[0]
# 遍历操作符依次运算
for idx, op in enumerate(op_list):
    next_num = num_list[idx + 1]
    result = op_map[op](result, next_num)

print(result)

如果你不想引入字典映射,只想用for循环+if判断实现,也可以用以下版本:

num_list = [1, 6, 8, 4]
op_list = ['+', '-', '*']

result = num_list[0]
for idx, op in enumerate(op_list):
    next_num = num_list[idx + 1]
    if op == '+':
        result += next_num
    elif op == '-':
        result -= next_num
    elif op == '*':
        result *= next_num
    elif op == '/':
        result /= next_num

print(result)

两个版本的运行结果都和你原有代码一致,示例输入的运算结果为-4。

内容的提问来源于stack exchange,提问作者Bennett.tai

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 21:09:00