<p>我在下面的函数中把字母“b”放在矩阵中的某个位置。(我正在制造扫雷艇,这些“b”代表炸弹在矩阵中的位置)。我必须将“z”炸弹放入函数中,但炸弹放置的位置不能出现多次。我知道如何将它们放在函数中,但我不知道它们是否在重复</p>
<pre><code>from random import*
mat1 = []
mat2 = []
def makemat(x):
for y in range(x):
list1 = []
list2 = []
for z in range(x):
list1.append(0)
list2.append("-")
mat1.append(list1)
mat2.append(list2)
makemat(2)
def printmat(mat):
for a in range(len(mat)):
for b in range(len(mat)):
print(str(mat[a][b]) + "\t",end="")
print("\t")
def addmines(z):
for a in range(z):
x = randrange(0,len(mat1))
y = randrange(0,len(mat1))
mat1[y][x] = "b"
addmines(4)
</code></pre>
<p>谢谢</p>
<p>也许我不明白这个问题,但为什么不检查一下“b”是否已经存在呢?你知道吗</p>
<pre><code>def addmines(z):
for a in range(z):
x = randrange(0,len(mat1))
y = randrange(0,len(mat1))
if mat1[y][x] == "b":
addmines(1)
else:
mat1[y][x] = "b"
addmines(4)
</code></pre>