【发布时间】:2015-06-22 04:12:45
【问题描述】:
我有一个- 字符列表列表,用作网格。
我想将每列和每行的一个 - 更改为一个 Q。
这是我目前所得到的:
import pprint
import random # I import these classes
grid = [['-'] for n in range(8)]
for i in range (8):
for j in range(8):
inserPoint = random.randrange(8,8)
if (j == inserPoint or i == inserPoint) and (grid[j] != 'Q' or grid[i] != 'Q'):
grid[i][j] = ('Q')
pprint.pprint(grid) #/ how to print one queen per line
这是我的输出。如您所见,网格上的Qs 太多了:
[['-','-','-','-','-','-','Q','-'],
['-','-','-','-','Q','Q','-','-']
['-','-','-','-','Q','-','-','-']
['Q','Q','-','-','-','Q','Q','-']
['-','-','Q','-','Q','-','-','-'].
【问题讨论】:
-
第一步是修复缩进。
-
第二步应该是修复 if 语句中的语法错误
-
第 3 步:修复
IndexError: list assignment index out of range(您的网格是 1x8,而不是 8x8) -
这是什么
import random/ i import this classes