我应该创建一个5x5
网格['O']
s。
我尝试了以下代码:
board = []
def filler(x):
c = ['O'] * 5
for i in c:
board.append(i)
print (c)
filler(c)
创建他们要求的5x5网格。我无法弄清楚为什么没有将电网添加到电路板上?
我的for循环有问题吗?我看了这个page并注意到没有人建议一个功能,这是我也不明白的。
这个功能不适合这个练习(或者只是我的功能不能正确追加?)
答案 0 :(得分:3)
这不会创建5x5网格。您首先创建一个list
的{{1}}平面,然后迭代它并将每个元素附加到棋盘上,使['O', 'O', 'O', 'O', 'O']
等于board
。从不使用函数中的list
参数。
你应该把整件事扔掉,然后就这样做:
x
这使用嵌套的理解来创建所需大小的2D def create_board(size):
return [['O' for column in range(size)] for row in range(size)]
board = create_board(5)
。
演示:
list