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

Python循环学习遇困:无法正确输出间隔3的序列求助

解决Python循环打印每第三个数字的问题

你的代码问题出在循环逻辑上:range(1, mystery_int + 1)会生成从1到50的每一个整数,你在循环里把当前的i加3再打印,相当于把每个数都加3后输出,自然会得到4、5、6……这样的结果,完全偏离了“打印每第三个数字”的需求。

下面给你两种符合要求的解决方案:

方法一:利用range的步长参数(推荐)

Python的range函数支持第三个参数作为步长,直接生成从1开始、每次递增3的序列,直到不超过mystery_int:

mystery_int = 50

for i in range(1, mystery_int + 1, 3):
    print(i)

这个方法最简洁高效,因为range直接生成了你需要的所有数字,不需要额外判断。

方法二:使用模运算筛选

遍历1到mystery_int的所有数,通过模运算判断当前数是否是“每第三个数字”——满足(i - 1) % 3 == 0的数就是我们要的(比如1-1=0,0%3=0;4-1=3,3%3=0,以此类推):

mystery_int = 50

for i in range(1, mystery_int + 1):
    if (i - 1) % 3 == 0:
        print(i)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 09:52:07