我对Python很陌生,所以我不太了解它的语法。
因此,我想输入网格的行数和列数,然后输入受行数和列数约束的字符网格。例如:
如果我的输入是:
3 4
X O X O
X X X X
O O O O
我想打印出这样的数组:
grid = [['X', 'O', 'X', 'O'],
['X', 'X', 'X', 'X'],
['O', 'O', 'O', 'O']]
到目前为止,我所拥有的是:
row, column = [int(x) in x for raw_input().split()]
grid = []
for i in range (0, N):
grid[i].append([])
grid[i] = raw_input().split()
我收到错误:列出索引超出范围。
我不确定我做错了什么。任何帮助将不胜感激。
问题是grid
是一个空列表。您不能引用i
超出范围grid[i]
。
你需要append
grid
,像这样:
for i in range(N): # 0 is implicit
grid.append(raw_input().split())
无需追加到grid[i]
实际问题是grid
是一个空数组,但您正在尝试附加到元素 0
,这是不可能的。
你可以用列表理解来解决这个问题,就像这样
rows, columns = map(int, raw_input().split())
grid = [raw_input().split() for i in xrange(rows)]
它和写作一样
grid = []
for i in xrange(rows):
grid.append(raw_input().split())
grid = []
for i in range (0, N):
grid.append([])
grid[i]=raw_input().split()
print grid