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

布尔变量未在每次for循环结束后反转,图案生成异常求助

问题分析与解决

期望输出

1
0 1
1 0 1
0 1 0 1
1 0 1 0 1

实际输出

1
0 1
0 1 0
1 0 1 0
1 0 1 0 1

原代码

N=5
bool_ = True
for row in range(1,N+1):
    for i in range(1, row+1):
        if i>1:
            print(' ', end='')
        print(int(bool_), end= '')
        bool_ =  not bool_
    print()

问题原因

你的bool_变量在所有循环外初始化,每一行结束后没有重置起始状态,导致下一行的起始值继承了上一行结尾的状态。比如第三行本应从1开始,但因为第二行结束后bool_是False,所以第三行开头输出0,出现错误。

正确逻辑是:奇数行以1开头,偶数行以0开头,每一行的起始状态由当前行号决定,而非上一行的结尾。

修改后的代码

N=5
for row in range(1,N+1):
    # 根据行号设置每一行的起始值:奇数行开头为1(True),偶数行开头为0(False)
    bool_ = row % 2 == 1
    for i in range(1, row+1):
        if i>1:
            print(' ', end='')
        print(int(bool_), end='')
        bool_ = not bool_
    print()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 15:20:24