[Python] 利用for迴圈印出九九乘法表

方式一:1-9直排,1印完換2,每印完一個數字換一行。
程式碼:

for i in range(1, 10):
    for j in range(1, 10):
        print("%d * %d = %d" % (i, j, i*j))
    print()

結果:

1 * 1 = 1
1 * 2 = 2
1 * 3 = 3
1 * 4 = 4
1 * 5 = 5
1 * 6 = 6
1 * 7 = 7
1 * 8 = 8
1 * 9 = 9

2 * 1 = 2
2 * 2 = 4
2 * 3 = 6
2 * 4 = 8
2 * 5 = 10
2 * 6 = 12
2 * 7 = 14
2 * 8 = 16
2 * 9 = 18

3 * 1 = 3
3 * 2 = 6
3 * 3 = 9
3 * 4 = 12
3 * 5 = 15
3 * 6 = 18
3 * 7 = 21
3 * 8 = 24
3 * 9 = 27

4 * 1 = 4
4 * 2 = 8
4 * 3 = 12
4 * 4 = 16
4 * 5 = 20
4 * 6 = 24
4 * 7 = 28
4 * 8 = 32
4 * 9 = 36

5 * 1 = 5
5 * 2 = 10
5 * 3 = 15
5 * 4 = 20
5 * 5 = 25
5 * 6 = 30
5 * 7 = 35
5 * 8 = 40
5 * 9 = 45

6 * 1 = 6
6 * 2 = 12
6 * 3 = 18
6 * 4 = 24
6 * 5 = 30
6 * 6 = 36
6 * 7 = 42
6 * 8 = 48
6 * 9 = 54

7 * 1 = 7
7 * 2 = 14
7 * 3 = 21
7 * 4 = 28
7 * 5 = 35
7 * 6 = 42
7 * 7 = 49
7 * 8 = 56
7 * 9 = 63

8 * 1 = 8
8 * 2 = 16
8 * 3 = 24
8 * 4 = 32
8 * 5 = 40
8 * 6 = 48
8 * 7 = 56
8 * 8 = 64
8 * 9 = 72

9 * 1 = 9
9 * 2 = 18
9 * 3 = 27
9 * 4 = 36
9 * 5 = 45
9 * 6 = 54
9 * 7 = 63
9 * 8 = 72
9 * 9 = 81

方式二:1-9橫列全部印出,印出乘法結果後,中間空一格區分,為了顯示好看,所以列印時,讓結果(=之後)都要顯示2位數(%02d)。
程式碼:

for i in range(1, 10):
    for j in range(1, 10):
        print("%d * %d = %02d" % (j, i, i*j), end = (" "))
    print()

結果:

1 * 1 = 01 2 * 1 = 02 3 * 1 = 03 4 * 1 = 04 5 * 1 = 05 6 * 1 = 06 7 * 1 = 07 8 * 1 = 08 9 * 1 = 09 
1 * 2 = 02 2 * 2 = 04 3 * 2 = 06 4 * 2 = 08 5 * 2 = 10 6 * 2 = 12 7 * 2 = 14 8 * 2 = 16 9 * 2 = 18 
1 * 3 = 03 2 * 3 = 06 3 * 3 = 09 4 * 3 = 12 5 * 3 = 15 6 * 3 = 18 7 * 3 = 21 8 * 3 = 24 9 * 3 = 27 
1 * 4 = 04 2 * 4 = 08 3 * 4 = 12 4 * 4 = 16 5 * 4 = 20 6 * 4 = 24 7 * 4 = 28 8 * 4 = 32 9 * 4 = 36 
1 * 5 = 05 2 * 5 = 10 3 * 5 = 15 4 * 5 = 20 5 * 5 = 25 6 * 5 = 30 7 * 5 = 35 8 * 5 = 40 9 * 5 = 45 
1 * 6 = 06 2 * 6 = 12 3 * 6 = 18 4 * 6 = 24 5 * 6 = 30 6 * 6 = 36 7 * 6 = 42 8 * 6 = 48 9 * 6 = 54 
1 * 7 = 07 2 * 7 = 14 3 * 7 = 21 4 * 7 = 28 5 * 7 = 35 6 * 7 = 42 7 * 7 = 49 8 * 7 = 56 9 * 7 = 63 
1 * 8 = 08 2 * 8 = 16 3 * 8 = 24 4 * 8 = 32 5 * 8 = 40 6 * 8 = 48 7 * 8 = 56 8 * 8 = 64 9 * 8 = 72 
1 * 9 = 09 2 * 9 = 18 3 * 9 = 27 4 * 9 = 36 5 * 9 = 45 6 * 9 = 54 7 * 9 = 63 8 * 9 = 72 9 * 9 = 81 

方式三:三組為一個區塊(1-3一個區塊,4-6一個區塊,7-9一個區塊),印出乘法結果後,中間空一格區分,為了顯示好看,所以列印時,讓結果(=之後)都要顯示2位數(%02d)。
程式碼:

for k in range(0, 3):
    for i in range(1, 10):
        for j in range(3 * k + 1, 3 * k + 4):
            print("%d * %d = %02d " % (j, i, i*j), end = (" "))
        print()
    print()

結果:

1 * 1 = 01  2 * 1 = 02  3 * 1 = 03  
1 * 2 = 02  2 * 2 = 04  3 * 2 = 06  
1 * 3 = 03  2 * 3 = 06  3 * 3 = 09  
1 * 4 = 04  2 * 4 = 08  3 * 4 = 12  
1 * 5 = 05  2 * 5 = 10  3 * 5 = 15  
1 * 6 = 06  2 * 6 = 12  3 * 6 = 18  
1 * 7 = 07  2 * 7 = 14  3 * 7 = 21  
1 * 8 = 08  2 * 8 = 16  3 * 8 = 24  
1 * 9 = 09  2 * 9 = 18  3 * 9 = 27  

4 * 1 = 04  5 * 1 = 05  6 * 1 = 06  
4 * 2 = 08  5 * 2 = 10  6 * 2 = 12  
4 * 3 = 12  5 * 3 = 15  6 * 3 = 18  
4 * 4 = 16  5 * 4 = 20  6 * 4 = 24  
4 * 5 = 20  5 * 5 = 25  6 * 5 = 30  
4 * 6 = 24  5 * 6 = 30  6 * 6 = 36  
4 * 7 = 28  5 * 7 = 35  6 * 7 = 42  
4 * 8 = 32  5 * 8 = 40  6 * 8 = 48  
4 * 9 = 36  5 * 9 = 45  6 * 9 = 54  

7 * 1 = 07  8 * 1 = 08  9 * 1 = 09  
7 * 2 = 14  8 * 2 = 16  9 * 2 = 18  
7 * 3 = 21  8 * 3 = 24  9 * 3 = 27  
7 * 4 = 28  8 * 4 = 32  9 * 4 = 36  
7 * 5 = 35  8 * 5 = 40  9 * 5 = 45  
7 * 6 = 42  8 * 6 = 48  9 * 6 = 54  
7 * 7 = 49  8 * 7 = 56  9 * 7 = 63  
7 * 8 = 56  8 * 8 = 64  9 * 8 = 72  
7 * 9 = 63  8 * 9 = 72  9 * 9 = 81  

[Python] 利用for迴圈印出數字三角形

最近又回到學習 python 了,紀錄一下練習的部分。

利用 for 迴圈印出數字三角形,使用者輸入一個正整數之後,程式印出由 1 到該數字的三角形數字列。

程式碼:

n = int(input("input a number:"))
for i in range(1, n + 1):
    for j in range(1, i + 1):
        print(j, end=(""))
    print()

結果:

input a number:7
1
12
123
1234
12345
123456
1234567