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

如何修改Python循环生成棋盘格模式的二维列表?

生成棋盘格模式的二维列表修改方案

你的问题出在没有根据行号的奇偶性调整列的修改规则,导致所有行的起始模式完全一致。以下是两种可行的修改方法:

方法一:根据行号调整列起始索引

直接修改内层循环的起始位置,让偶数行和奇数行的修改列错开:

for i in range(len(table)):
    # 偶数行从索引0开始,奇数行从索引1开始
    start_col = 0 if i % 2 == 0 else 1
    for j in range(start_col, len(table[i]), 2):
        table[i][j] = 0

原理:偶数行(i为0、2、4...)保留原逻辑,把偶数索引设为0;奇数行(i为1、3...)改成从索引1开始,每隔2列设为0,刚好和上一行的模式相反。

方法二:通过行号+列号的奇偶性判断

这种方法逻辑更直观,直接根据每个位置的行号与列号之和的奇偶性来修改:

for i in range(len(table)):
    for j in range(len(table[i])):
        # 行号+列号为偶数时设为0,奇数时保持1(原列表全为1)
        if (i + j) % 2 == 0:
            table[i][j] = 0

原理:棋盘格的核心规律就是相邻行的同列位置值相反,用i+j的奇偶性可以精准判断每个位置应该是0还是1,适用于任意行列数的二维列表。

原代码的问题在于所有行都使用相同的列修改规则,没有实现行与行之间的模式交替,所以无法得到目标棋盘格效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 05:20:40