python - 如何在 Python 中获取用户输入的字符网格

标签 python list python-2.7 grid user-input

我对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]

您需要附加网格,如下所示:

for i in range(N): # 0 is implicit
    grid.append(raw_input().split())

无需附加到grid[i]

关于python - 如何在 Python 中获取用户输入的字符网格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21845522/

相关文章:

linq-to-sql - 将SqlCommand输出转换为List <MyType>?

python - 如何连续读取细节 block 并计算文本行数

python - Pandas iloc 错误索引导致减法问题

python - 使用非类型对象注释参数

python - 为什么 python.subprocess 在 proc.communicate() 之后挂起?

python - python 命令行应用程序的最佳布局是什么?

c - 分段故障链表

python - 如何忽略添加到 Python 列表中的特定元素

Python:为什么引用列表的变量范围不同于引用任何其他数据结构或数据类型的变量?

python - 无法使用 Python 2.7 重新编译 mod_wsgi