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

如何更高效实现三数最大值判断及相等情况处理?

优化方案:简化三数最大值判断逻辑

可以通过先确定最大值,再匹配所有等于最大值的变量的方式,彻底消除嵌套if,让代码更简洁易读:

def highest(a, b, c):
    max_val = max(a, b, c)
    # 收集所有等于最大值的变量名
    greatest_vars = []
    if a == max_val:
        greatest_vars.append('a')
    if b == max_val:
        greatest_vars.append('b')
    if c == max_val:
        greatest_vars.append('c')
    
    # 根据变量数量生成结果字符串
    if len(greatest_vars) == 1:
        return f"{greatest_vars[0]} is greatest"
    else:
        return " and ".join(greatest_vars) + " are equal"

# 示例调用
print(highest(1,6,6))  # 输出: b and c are equal
print(highest(5,3,5))  # 输出: a and c are equal
print(highest(9,2,4))  # 输出: a is greatest

优化思路说明

  • 用max()直接获取三个数的最大值,避免手动写多重大小比较的冗余逻辑
  • 遍历三个变量,收集所有等于最大值的变量名,无需嵌套判断每种相等组合
  • 最后根据收集到的变量数量,统一处理单最大值和多最大值相等的场景,逻辑更清晰,后续扩展(比如增加更多变量)也更方便

对比原代码的优势

  • 消除了多层嵌套if,代码结构更扁平,可读性大幅提升
  • 逻辑复用性更强,新增变量时只需修改变量收集部分,无需重构大量条件判断
  • 减少了重复的比较操作,运行效率更优

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 09:34:54