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

求问:禁用max/min/and/or的三数最大值Python代码无输出问题排查

三个整数最大值Python代码问题分析与修复

你的代码出现无输出的情况,核心问题是完全没处理数值相等的场景——比如当a=b、b=c、a=c或者三个数全相等时,所有if/elif的条件都无法触发,自然不会执行任何print语句。另外你的判断逻辑存在大量冗余,比如elif a>c分支里又判断a>b,这在前面if a>b不成立的前提下,这个条件永远为假,完全是多余的。

符合要求的修复代码(不使用min/max/and/or)

用分步比较的方式,逻辑清晰且覆盖所有场景:

a = int(input())
b = int(input())
c = int(input())

# 先找出a和b中的较大值
if a > b:
    temp = a
else:
    temp = b

# 再将这个较大值和c比较,得到最终最大值
if temp > c:
    print(temp)
else:
    print(c)

另一种嵌套判断的实现方式

如果偏好嵌套结构,也可以这样写,同样覆盖所有情况:

a = int(input())
b = int(input())
c = int(input())

if a > b:
    if a > c:
        print(a)
    else:
        print(c)
else:
    if b > c:
        print(b)
    else:
        print(c)

逻辑说明

这两种写法都能处理所有边界情况:

  • 当任意两个数相等时,会自动进入对应分支(比如a==b时,会进入else分支比较b和c)
  • 三个数全相等时,最终会输出这个相等的数值
  • 完全避免了冗余判断,逻辑简洁直观

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 21:10:52