【问题标题】:python minesweeper reveal functionpython扫雷显示功能
【发布时间】:2016-05-25 05:55:19
【问题描述】:
def reveal(board, row, col):
  board[row][col] = "C" + board[row][col][1]
  count = 0
  board =[]
  rowcount = 0
  for i in board:
      if count in mines:
          i = 'C*'
      print("| ", i, end=" ")
      if rowcount == 9:
          print("|")
          rowcount = 0
      else:
          rowcount += 1
      count += 1

  board = []
  mines = []
  for i in range(9):
   board.append([])
  for j in range(12):
    board[i].append('C*')

  for i in range(9):
    for j in range(12):
      #Error Below it says Index Not in Range
      print("|", board[i][j], end=" ")
  print("|")
  mines = []
  for i in range(9):

    loc = random.randint(0, 99)
  while loc in mines:
      loc = random.randint(0, 99)
  #board[loc] = 'C*'
  bombs.append(loc)

我遇到的问题是在我指出的地方出现索引错误,但我不知道这意味着什么或如何进行更改。这是我的扫雷游戏的显示功能,运行程序时我的棋盘不会绘制

【问题讨论】:

  • 你能不能说得更具体一些,也许不要对我的问题投反对票?

标签: python minesweeper


【解决方案1】:

快速猜测是这样的:

for i in range(9):
 board.append([])
for j in range(12):
  board[i].append('C*')

这样,它运行两个独立的循环,因此i 将具有最后一个值 (8),而您只附加到最后一行。

如果您修复缩进,它将如下所示:

for i in range(9):
    board.append([])
    for j in range(12):
        board[i].append('C*')

然后,它将正常工作。

这就是为什么你应该使用大于一个空格的缩进大小,这样你才能真正看到差异!

【讨论】:

  • 非常感谢!我现在在我的代码中添加了更多空格用于缩进,我真的可以分辨出区别!你是最棒的!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-19
  • 1970-01-01
相关资源
最近更新 更多