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

如何使用while循环?Python循环错误排查与需求实现咨询

问题分析与修复

你的代码只输出50就陷入死循环(看起来像停止),问题出在两处:

  1. 多余的elif分支导致死循环:当number % 5 == 1时执行continue,但此时没有对number做递减操作,导致这个数字永远不会变化,循环条件number >=0始终成立,程序卡在循环里无法继续。
  2. 冗余的赋值语句:最后一行number = number = number -1完全可以简化为number -=1,不影响功能但更简洁。

正确实现代码

要实现从50到0递减,仅打印能被5整除的数字,核心逻辑是无论是否打印,每次循环都要让数字递减1,避免死循环。这里提供两种清晰的写法:

写法一(直接判断后统一递减)

number = 50

while number >= 0:
    if number % 5 == 0:
        print(number)
    number -= 1  # 不管是否满足打印条件,都执行递减

写法二(用continue提前跳过打印逻辑)

number = 50

while number >= 0:
    if number % 5 != 0:
        number -= 1
        continue  # 跳过打印,直接进入下一次循环
    print(number)
    number -= 1

两种写法都能正确输出50,45,40,...,0,完全符合需求。

内容的提问来源于stack exchange,提问作者Reyan-droid

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 22:05:44