python-3.x 在每个for循环结束后不会发生布尔变量的反转

e3bfsja2  于 2023-02-06  发布在  Python
关注(0)|答案(1)|浏览(104)

我试着创造一个模式如下-

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()

不确定这里面出了什么问题。看起来像是和second for循环的range有关。

nmpmafwu

nmpmafwu1#

有时一行的第一个字符和前一行的最后一个字符相同,所以总是切换布尔值的逻辑将不起作用。
您可以使用的int是1 - (row + i) % 2

print(1 - (row + i) % 2, end= '')

您不需要使用bool_名称。

相关问题