创建游戏板时出现问题:打印太多列表
Problems when creating Game Board: prints too many lists
我正在尝试使用列表创建游戏板,但是当我打印板时它打印了太多列表。
from random import randint
import pprint
class Gameboard:
def __init__(self, rows, columns):
self._rows = rows
self._columns = columns
self._board = []
for i in range(rows):
row = [0] * columns
self._board.append(row)
def drawBoard(self):
for i in range(self._rows):
for j in range(self._columns):
pprint.pprint(self._board)
主程序:
from gameboard import Gameboard
import pprint
def main():
myObject = Gameboard(7, 7)
myObject.drawBoard()
main()
我的目标是创建一个由(在本例中)7 个列表和列表中的 7 个元素组成的板。
当我现在 运行 程序时,它会打印大约 7*49 个列表或其他内容。我必须更改什么才能只打印出一个包含 7 个列表的列表?
您可以使用内联 for 循环生成 "[]"
字符串列表,然后根据需要多次迭代该打印函数,如下所示:
import pprint
for i in range(7):
pprint.pprint(["[]" for j in range(7)])
通过在列表中使用 .join()
,您还可以将列表中的每个元素连接成一个长字符串,这样看起来更好。
import pprint
for i in range(7):
pprint.pprint(' '.join(["[]" for j in range(7)]))
保持简单:
def drawBoard(self):
print(*self._board, sep='\n')
输出
[0, 0, 0, 0, 0, 0, 0]
[0, 0, 0, 0, 0, 0, 0]
[0, 0, 0, 0, 0, 0, 0]
[0, 0, 0, 0, 0, 0, 0]
[0, 0, 0, 0, 0, 0, 0]
[0, 0, 0, 0, 0, 0, 0]
[0, 0, 0, 0, 0, 0, 0]
我正在尝试使用列表创建游戏板,但是当我打印板时它打印了太多列表。
from random import randint
import pprint
class Gameboard:
def __init__(self, rows, columns):
self._rows = rows
self._columns = columns
self._board = []
for i in range(rows):
row = [0] * columns
self._board.append(row)
def drawBoard(self):
for i in range(self._rows):
for j in range(self._columns):
pprint.pprint(self._board)
主程序:
from gameboard import Gameboard
import pprint
def main():
myObject = Gameboard(7, 7)
myObject.drawBoard()
main()
我的目标是创建一个由(在本例中)7 个列表和列表中的 7 个元素组成的板。 当我现在 运行 程序时,它会打印大约 7*49 个列表或其他内容。我必须更改什么才能只打印出一个包含 7 个列表的列表?
您可以使用内联 for 循环生成 "[]"
字符串列表,然后根据需要多次迭代该打印函数,如下所示:
import pprint
for i in range(7):
pprint.pprint(["[]" for j in range(7)])
通过在列表中使用 .join()
,您还可以将列表中的每个元素连接成一个长字符串,这样看起来更好。
import pprint
for i in range(7):
pprint.pprint(' '.join(["[]" for j in range(7)]))
保持简单:
def drawBoard(self):
print(*self._board, sep='\n')
输出
[0, 0, 0, 0, 0, 0, 0]
[0, 0, 0, 0, 0, 0, 0]
[0, 0, 0, 0, 0, 0, 0]
[0, 0, 0, 0, 0, 0, 0]
[0, 0, 0, 0, 0, 0, 0]
[0, 0, 0, 0, 0, 0, 0]
[0, 0, 0, 0, 0, 0, 0]