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

Python中while循环的else分支失效问题求助

问题分析

你这段代码的问题出在else分支的逻辑上——Python里while的else块只会在while循环正常结束(即条件变为False时)执行一次,而不是循环执行。所以当num1 <= num2时,它只会打印一次num1然后加1,不会持续打印到num2,这就是你觉得else分支没工作的原因。

修复方案

方案1:先统一起始和结束值(推荐)

不用纠结输入的两个数谁大谁小,先直接找出最小值和最大值,然后从最小值开始循环打印到最大值,逻辑更简洁:

num1 = int(input('enter first number'))
num2 = int(input('enter second number'))

start = min(num1, num2)
end = max(num1, num2)

while start <= end:
    print(start)
    start += 1

方案2:拆分两种情况的循环

如果想保留原来的判断逻辑,把else换成另一个while循环,分别处理num1 > num2和num1 <= num2的情况:

num1 = int(input('enter first number'))
num2 = int(input('enter second number'))

if num1 > num2:
    while num1 > num2:
        print(num2)
        num2 += 1
else:
    while num1 <= num2:
        print(num1)
        num1 += 1

这样两种情况都会循环打印,直到达到较大的数字。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 17:35:27