2016-11-30 51 views
0

我想增加使用嵌套循環,但沒有得到慾望的結果。其目的是使用7x6網格檢查遊戲連接4的對角線匹配。這裏是我的代碼,並導致試圖增加使用嵌套循環

for i in range(6): 
      for j in range(6): 
        print("[{}][{}]".format(i,j)) 
        i+=1 

    #This is the output i am trying to get. 
    [0][0] 
    [1][1] 
    [2][2] 
    [3][3] 
    [4][4] 
    [5][5] 
    [1][0] 
    [2][1] 
    [3][2] 
    [4][3] 
    [5][4] 
    [2][0] 
    [3][1] 
    [4][2] 
    [5][3] 

    #But this is what i am getting 
    [0][0] 
    [1][1] 
    [2][2] 
    [3][3] 
    [4][4] 
    [5][5] 
    [1][0] 
    [2][1] 
    [3][2] 
    [4][3] 
    [5][4] 
    [6][5] 
    [2][0] 
    [3][1] 
    [4][2] 
    [5][3] 
    [6][4] 
    [7][5] 
    [3][0] 
    [4][1] 
    [5][2] 
    [6][3] 
    [7][4] 
    [8][5] 
    [4][0] 
    [5][1] 
    [6][2] 
    [7][3] 
    [8][4] 
    [9][5] 
    [5][0] 
    [6][1] 
    [7][2] 
    [8][3] 
    [9][4] 
    [10][5] 
+0

修改循環變量,沒有效果'循環。您將不得不使用while循環,或以不同的方式跳過迭代。請注意,在第一個'i'循環中'i'會在'j'循環內增加6次,所以你已經超出了範圍。 – poke

+1

另外,爲什麼你從期望的結果中排除以下內容? ''[3] [0],[4] [1],[5] [2],[4] [0],[5] [1],[5] [0]' – poke

回答

3

此代碼返回你想要的結果,而截斷數據。

for i in range(6): 
    for j in range(6-i): 
     print("[{}][{}]".format(i,j)) 
     i += 1 

爲您精確的輸出:

for i in range(6): 
    check = False 
    for j in range(6-i): 
     print("[{}][{}]".format(i,j)) 
     if i == 5 and j == 3: 
     check = True 
     break 
     i += 1 
    if check: 
     break 

輸出:

[0][0] 
[1][1] 
[2][2] 
[3][3] 
[4][4] 
[5][5] 
[1][0] 
[2][1] 
[3][2] 
[4][3] 
[5][4] 
[2][0] 
[3][1] 
[4][2] 
[5][3] 
+0

只需運行該代碼沒有輸出你指示的內容 –

+0

你想讓它停在[5] [3]嗎?我更新了答案以截斷您想要的數據。 – Navidad20

+0

是在[5] [3]停止 –

0

我會做到這一點:使用`因爲當

N = 6 
for start in range(N): 
    for i, j in zip(range(start, N), range(N)): 
     print("[{}][{}]".format(i,j))