擅长:python、mysql、java
<p>你需要改变你的方法。您可以尝试以下两种方法之一:</p>
<ol>
<li><p>从一块空板开始。生成一个随机数,然后生成
板上的两个随机位置。继续生成,直到您发现
一个空位,两次。把随机数放入两个位置。在</p>
<pre><code>for _ in range(width * height // 2):
number = pick_random_number()
loc1 = find_random_empty_spot()
board[loc1.row][loc1.col] = number
loc2 = find_random_empty_spot()
board[loc2.row][loc2.col] = number
</code></pre></li>
<li><p>计算需要填充多少个位置。生成N/2
随机数,将每个随机数放入一个列表中,两次。现在,
洗牌列表,然后在棋盘上循环,插入
把名单放到黑板上。在</p>
<pre><code>num_picks = width * height // 2
picks = []
for _ in range(num_picks):
number = pick_random_number()
picks.extend([number, number])
random.shuffle(picks)
for row in range(height):
for col in range(width):
board[row][col] = picks.pop()
</code></pre></li>
</ol>
<p>这两种方法中的任何一种都会让你得到你想要的配对行为。你选择哪一个是一个舒适的问题。在</p>