我是一名计算机科学专业的学生,对于我们的大多数课程,我们使用Java,现在我们需要使用python,所以我希望你能告诉我为什么grid[i][j].append('Q')
从不生效以及我能做些什么才能使它发挥作用。这项任务背后的目的是生成八个皇后谜题实例,然后最终返回解决方案。请帮助我,这是我到目前为止所做的:
import pprint
import random
grid = [['-']*8 for n in range(8)]
insertPoint = random.randrange(1,8)
for i in grid:
for j in grid:
if i==insertPoint:
grid[i][j].append('Q')
pprint.pprint(grid)
修改:我希望每次都在单独的列中打印Q.
所以我稍微调整了代码以将其打印到列中,但问题是它每次都在同一列中打印,我使用随机的原因是每次尝试单独进行。这是至少让我在一栏中打印的代码:
import pprint
import random
grid = [['-']*8 for n in range(8)]
insertPoint = random.randrange(1,8)
for i in range(8):
for j in range(8):
if j==insertPoint:
grid[i][j]=('Q')
pprint.pprint(grid)
我假设我必须在两个循环之间的某处增加j,并且我已经尝试将它放在不同的地方,但它不起作用。
我认为我得到它,只是将insertpoint变量移动到for循环
由于下面的Dave代码,我真的很接近我想要的东西,但我更喜欢输出不要让'Q'全部在同一行。你可以帮助我吗,我尝试了一些不同的东西,但只是为了远离它
以下是代码和输出:
import pprint
import random
grid = [['-']*8 for n in range(8)]
insertPoint = random.randrange(1,8)
for i in range(0,8):
for j in range(0,8):
if i==insertPoint:
grid[i][j] = 'Q'
pprint.pprint(grid)
[['-', '-', '-', '-', '-', '-', '-', '-'],
['-', '-', '-', '-', '-', '-', '-', '-'],
['-', '-', '-', '-', '-', '-', '-', '-'],
['Q', 'Q', 'Q', 'Q', 'Q', 'Q', 'Q', 'Q'],
['-', '-', '-', '-', '-', '-', '-', '-'],
['-', '-', '-', '-', '-', '-', '-', '-'],
['-', '-', '-', '-', '-', '-', '-', '-'],
['-', '-', '-', '-', '-', '-', '-', '-']]
答案 0 :(得分:2)
在您的代码中,i
和j
不会迭代整数,因此它们不能用于索引数组。
你可以尝试:
grid = [['-']*8 for n in range(8)]
insertPoint = random.randrange(1,8)
for i in range(8):
for j in range(8):
if i==insertPoint:
grid[i][j] = 'Q';
答案 1 :(得分:0)
你可以使用这个程序。
uasort(
$i,
function($value1, $value2) {
return count($value2['quotes']) - count($value1['quotes']);
}
);