2016-11-08 4 views
0

この質問が以前に投稿されていた場合はお詫び申し上げますが、そうであればどこでも見つけることができませんでした。また、私はnumpyに精通していません。残念なことに、私が見つけることができる唯一の答えは、気が散っていた。私はまだcodepy/pythonの基礎を学んでいるので、numpyを使用しないことを好むでしょう。グリッドの行と列のラベルを印刷する(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 

私はインデックスではなく、値を操作する必要があることを知っていますが、私が言ったように、私はまだノーベルです。私がここにいるものに基づいてこれを行う最善の方法は何でしょうか?最初のグリッドを作るコードよりも、ループとprintステートメントのために分離する必要がありますか?あるいは、私は何とかこれらの行/列ラベルを実装するために私の最初のゲームボードコードを変更することはできますか?私は近いです、しかし午前私の知恵の終わりに..私は助けが必要だと思う

 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 

はこれまでのところ、私はこのような何かを行うためのアイデアを持っています。私の質問に答える時間と努力に感謝します。モジュラー何かのために

答えて

1

(したがって、Python的: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 
+0

はこのためにどうもありがとうございます!役に立った! – Ted

関連する問題