打印网格中行和列的标签 (PYTHON)
Print labels for rows and columns in grid (PYTHON)
如果这个问题之前已经发布过,我深表歉意,但是如果是的话,我无法在任何地方找到它。另外,我对 numpy 不熟悉。不幸的是,我能找到的唯一答案是麻木的答案。我不想使用 numpy,因为我仍在学习 coding/python 的基础知识。
我正在尝试为我的网格打印标签。我有一个简单的游戏板,我想标记 A、B、C、D 列和 1、2、3、4 行。
这是我生成网格的代码:
def initial(): #Function that creates the 2d array and assigns it the values I want
board = []
for x in range(numrows):
board.append([])
for y in range(numcols):
if ((x + y)%2):
board[x].append('X')
else:
board[x].append('O')
这是输出:
O X O X
X O X O
O X O X
我试图让我的输出看起来像这样:
A B C D
1 O X O X
2 X O X O
3 O X O X
我知道我必须操纵索引,而不是值,但就像我说的,我仍然是个菜鸟。根据我在这里所拥有的,解决这个问题的最佳方法是什么?它是否应该与创建初始网格的代码分开 for 循环和打印语句?或者我能以某种方式改变我的初始游戏板代码来实现这些 row/column 标签吗?
到目前为止,我有这样的想法:
for r in range(numrows): # I have a variable in the code numrows = 3
if(r==0):
print("1")
if(r==1):
print("2")
if(r==2):
print("3")
for c in range(numcols): # also a variable numcols = 4
if(c==0):
print("A")
if(c==1):
print("B")
if(c==2):
print("C")
if(c==3):
print("D")
show_grid(board) #function that prints my board
我想我已经很接近了,但是我已经束手无策了..我需要帮助。预先感谢您花时间和精力回答我的问题。
对于模块化的东西(因此 Pythonic :p):
columnsIndices = ['A', 'B', 'C', 'D']
rowsIndices = [1, 2, 3, 4]
print(" ", end="")
for c in columnsIndices :
print(" " + str(c), end="") #str() is useless, but it's good practice
print() #linefeed
for i in range(len(grid)) :
print(str(rowsIndices[i]), end="")
for elt in grid[i] :
print(" " + str(elt), end="")
print() #linefeed
如果这个问题之前已经发布过,我深表歉意,但是如果是的话,我无法在任何地方找到它。另外,我对 numpy 不熟悉。不幸的是,我能找到的唯一答案是麻木的答案。我不想使用 numpy,因为我仍在学习 coding/python 的基础知识。
我正在尝试为我的网格打印标签。我有一个简单的游戏板,我想标记 A、B、C、D 列和 1、2、3、4 行。
这是我生成网格的代码:
def initial(): #Function that creates the 2d array and assigns it the values I want board = [] for x in range(numrows): board.append([]) for y in range(numcols): if ((x + y)%2): board[x].append('X') else: board[x].append('O')
这是输出:
O X O X X O X O O X O X
我试图让我的输出看起来像这样:
A B C D 1 O X O X 2 X O X O 3 O X O X
我知道我必须操纵索引,而不是值,但就像我说的,我仍然是个菜鸟。根据我在这里所拥有的,解决这个问题的最佳方法是什么?它是否应该与创建初始网格的代码分开 for 循环和打印语句?或者我能以某种方式改变我的初始游戏板代码来实现这些 row/column 标签吗?
到目前为止,我有这样的想法:
for r in range(numrows): # I have a variable in the code numrows = 3 if(r==0): print("1") if(r==1): print("2") if(r==2): print("3") for c in range(numcols): # also a variable numcols = 4 if(c==0): print("A") if(c==1): print("B") if(c==2): print("C") if(c==3): print("D") show_grid(board) #function that prints my board
我想我已经很接近了,但是我已经束手无策了..我需要帮助。预先感谢您花时间和精力回答我的问题。
对于模块化的东西(因此 Pythonic :p):
columnsIndices = ['A', 'B', 'C', 'D']
rowsIndices = [1, 2, 3, 4]
print(" ", end="")
for c in columnsIndices :
print(" " + str(c), end="") #str() is useless, but it's good practice
print() #linefeed
for i in range(len(grid)) :
print(str(rowsIndices[i]), end="")
for elt in grid[i] :
print(" " + str(elt), end="")
print() #linefeed