輸出3個nxn表

Output three nxn tables

來源: link 標籤:python 更新時間:

  問題

我正在嘗試編寫一個程式碼,我將一個數字n放在input()中並在輸出中我將得到三個相同的nxn表.我不能使用if’或’t’或列表.我只是一個begginer,所以我們不能使用任何困難的函式或類似的東西.

這是我的程式碼:

 n = int(input('n: '))
for i in range(n):
    for j in range(n):
        print(f'{i*n + j + 1:2}', end=' ')
    for k in range(n):
        print(f'{i*n + k + 1:2}', end=' ')
    for l in range(n):
        print(f'{i*n + l + 1:2}', end=' ')
    print()
 

問題是我需要在表的每一行後面放置4個空格(選項卡)(以便表可以識別為3,它看起來不像一個表).

我的輸出現在如下所示:

  1  2  3  4  5  1  2  3  4  5  1  2  3  4  5 
 6  7  8  9 10  6  7  8  9 10  6  7  8  9 10  
11 12 13 14 15 11 12 13 14 15 11 12 13 14 15 
16 17 18 19 20 16 17 18 19 20 16 17 18 19 20 
21 22 23 24 25 21 22 23 24 25 21 22 23 24 25
 

輸出應該如下所示:

 n: 5
 1  2  3  4  5     1  2  3  4  5     1  2  3  4  5
 6  7  8  9 10     6  7  8  9 10     6  7  8  9 10
11 12 13 14 15    11 12 13 14 15    11 12 13 14 15
16 17 18 19 20    16 17 18 19 20    16 17 18 19 20
21 22 23 24 25    21 22 23 24 25    21 22 23 24 25
 

  最佳答案

每次finsh列印行部分時,均意味著每個for迴圈列印一些空格:

 n = int(input('n: '))
for i in range(n):
    for j in range(n):
        print(f'{i*n + j + 1:2}', end=' ')
    print('  ', end='')

    for j in range(n):
        print(f'{i*n + j + 1:2}', end=' ')
    print('  ', end='')

    for j in range(n):
        print(f'{i*n + j + 1:2}', end=' ')
    print('  ', end='')
    print()
 

輸出:

 1  2  3  4  5    1  2  3  4  5    1  2  3  4  5   
 6  7  8  9 10    6  7  8  9 10    6  7  8  9 10   
11 12 13 14 15   11 12 13 14 15   11 12 13 14 15   
16 17 18 19 20   16 17 18 19 20   16 17 18 19 20   
21 22 23 24 25   21 22 23 24 25   21 22 23 24 25 
 

您可以在每個迴圈中使用相同的名稱j,這不是問題,因為在這裡.因為它每次都會被for迴圈重新初始化.希望這對您來說是一個簡單的.

  相同標籤的其他問題

python