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

Python如何筛选区间内能被2整除但不能被3整除的数字并打印?

问题原因

你现有代码的执行顺序有问题:

  • 先判断x能被2整除就直接打印,之后才校验是否能被3整除,哪怕x同时满足被3整除的条件,也已经完成打印操作才执行continue,所以会输出6、12这类不符合要求的数字
  • 另外range(n1, n2)是左闭右开区间,不会包含n2本身,若题目要求统计范围包含n2,需要调整为range(n1, n2 + 1)
修复代码

方案1:合并判断条件(写法更简洁)

for x in range(n1, n2 + 1):
    # 同时满足能被2整除、不能被3整除才打印
    if x % 2 == 0 and x % 3 != 0:
        print(x)

方案2:保留continue写法(调整判断顺序)

for x in range(n1, n2 + 1):
    # 不能被2整除直接跳过
    if x % 2 != 0:
        continue
    # 能被3整除直接跳过
    if x % 3 == 0:
        continue
    # 剩余符合要求的才执行打印
    print(x)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 10:12:03