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

编程新手求助:输出3的倍数的while语句无法运行,求排查语法错误

帮你搞定while循环的问题!

嘿,作为编程新手遇到这种小问题太正常啦,我帮你拆解下代码里的几个关键错误:

  • 循环范围不对:你要找0到100之间的数,但代码里写的是while counter3 <= 1000,这会让循环跑到1000,明显超出需求啦。
  • 倍数判断逻辑和语法错误:判断一个数是不是3的倍数,应该看这个数除以3的余数是不是0,也就是counter3 % 3 == 0,而你写的if 3 % counter3 : True完全搞反了逻辑,而且语法也不对——if后面直接写判断条件就行,不需要加: True。
  • 计数器更新位置错误:你现在只在满足条件的时候才给counter3加1,那如果某个数不是3的倍数,counter3就不会变,循环会一直卡在这个数上,变成无限循环!应该不管是否满足条件,每次循环结束都要让计数器加1。

给你修正后的代码:

counter3 = 0  # 从0开始,因为0也是3的倍数哦
theList = []
while counter3 <= 100:
    if counter3 % 3 == 0:
        theList.append(counter3)
    counter3 += 1  # 不管是否满足条件,每次都递增计数器
print(theList)

另外补充个小技巧:其实用for循环做这个会更简洁,比如:

theList = [num for num in range(0, 101) if num % 3 == 0]
print(theList)

不过既然你在练习while循环,先把上面的修正版搞懂就好啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 08:45:47