You need to enable JavaScript to run this app. 如何用Python编写输出二进制棋盘的chessboard函数
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python编写输出二进制棋盘的chessboard函数

Python chessboard函数隔行切换起始字符修改方案

问题核心原因

你当前的代码所有行都固定以1作为起始字符,没有新增行维度的状态标记来切换每一行的起始值,因此所有行输出内容完全一致。

修改后的完整代码

def chessboard(n):
    height = n
    # 标记当前行是否以1开头,第一行默认是1开头
    start_with_one = True
    while height > 0:
        length = n
        current_start = start_with_one
        while length > 0:
            print("1" if current_start else "0", end="")
            length -= 1
            # 切换下一个字符的取值
            current_start = not current_start
        # 打印完一行后换行
        print()
        # 下一行起始字符翻转
        start_with_one = not start_with_one
        height -= 1

主要修改点说明

  • 新增start_with_one布尔变量记录当前行的起始字符规则,每打印完一行就翻转该变量的值,实现隔行切换开头
  • 内层循环新增current_start变量控制当前位置的输出值,每打印一个字符就翻转一次,保证单行走1、0交替的规则
  • 修正了原代码中提前break的逻辑问题,避免行数打印不全、换行异常的问题

运行测试

调用chessboard(3)时输出结果如下:

101
010
101

符合预期要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.13 12:48:00