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

不使用Python内置max/min函数实现三数求最值,现有代码覆盖不全如何补全

三参数最值返回函数判断分支补全方案

问题原因

你现有的代码仅覆盖了3个参数满足链式连续非降序的3种场景,缺失了中间数值位置不连续的3种场景,例如2,1,2对应的num1 >= num3 >= num2场景没有对应判断分支,因此会出现无返回值的错误。

需补充的判断分支

你需要在现有判断后新增以下3个分支即可覆盖所有场景:

elif num1 >= num3 and num3 >= num2:
    return num1, num2
elif num2 >= num3 and num3 >= num1:
    return num2, num1
elif num3 >= num1 and num1 >= num2:
    return num3, num2

补全后的完整代码

def max_and_smallest(num1,num2,num3):
    if num1>=num2 and num2>=num3:
        return num1, num3
    elif num2>=num1 and num1>=num3:
        return num2, num3
    elif num3>=num2 and num2>=num1:
        return num3, num1
    # 新增分支开始
    elif num1 >= num3 and num3 >= num2:
        return num1, num2
    elif num2 >= num3 and num3 >= num1:
        return num2, num1
    elif num3 >= num1 and num1 >= num2:
        return num3, num2

更简洁的优化方案(可选)

如果不想写过多分支,可以用两两比较的逻辑分别计算最大值和最小值,逻辑更清晰不易漏场景:

def max_and_smallest(num1,num2,num3):
    # 计算最大值
    max_val = num1
    if num2 > max_val:
        max_val = num2
    if num3 > max_val:
        max_val = num3
    # 计算最小值
    min_val = num1
    if num2 < min_val:
        min_val = num2
    if num3 < min_val:
        min_val = num3
    return max_val, min_val

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 12:24:04