1. 程式人生 > >python while 循環打印九九乘法表

python while 循環打印九九乘法表

pan str family soft 9*9 方向 mil ros end

方向一

i = 1

while i <= 9:

  j = 1

  while j <= i

    print(‘%d*%d = %2d‘%( j,i ,i*j),end=‘‘)

    j += 1

  print()

  i += 1

思路:先寫出列,從一到九,再寫出列,每次行=列的時候換行,行數增加一,所以裏面的while循環是 j <= i,當行數小於列數時,執行換行代碼,進行下一輪的循環,end = ‘’ 表示不換行繼續往下寫

方向一打印結果示例

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

方向二

i = 1

while i <= 9:

  k = 1

  while k <= 9 - i:

    print(‘ ‘,end = ‘ ‘)

    k += 1

  j = 1

  while j <= i

    print(‘%d*%d = %2d‘%( j,i ,i*j),end=‘‘)

    j += 1

  print()

  i += 1

思路:方向二相對於方向一,需要在前面打印空格,且每次打印的空格跟行數有關,這時就需要一個循環,使得前面的空格被打印出來

方向一打印結果示例

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

方向三

i = 9

while i >= 1:

  j = 1

  while j <= i

    print(‘%d*%d = %2d‘%( j,i ,i*j),end=‘‘)

    j += 1

  print()

  i -= 1

思路:方向三中的i是從9到1,然後再是把i一個一個往下減

方向三打印結果示例

1*9 = 9 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*8 = 8 2*8 =16 3*8 =24 4*8 =32 5*8 =40 6*8 =48 7*8 =56 8*8 =64
1*7 = 7 2*7 =14 3*7 =21 4*7 =28 5*7 =35 6*7 =42 7*7 =49
1*6 = 6 2*6 =12 3*6 =18 4*6 =24 5*6 =30 6*6 =36
1*5 = 5 2*5 =10 3*5 =15 4*5 =20 5*5 =25
1*4 = 4 2*4 = 8 3*4 =12 4*4 =16
1*3 = 3 2*3 = 6 3*3 = 9
1*2 = 2 2*2 = 4
1*1 = 1

方向四

i = 9

while i >= 1:  

  k = 1

  while k <= 9-i:

    print(‘ ‘, end = ‘ ‘)

    k += 1

  j = 1

  while j <= i

    print(‘%d*%d = %2d‘%( j,i ,i*j),end=‘‘)

    j += 1

  print()

  i -= 1

思路:和方向二類似,在方向三的基礎上,在前面根據行數打印一定量的空格就可以了

方向四打印結果示例

1*9 = 9 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*8 = 8 2*8 =16 3*8 =24 4*8 =32 5*8 =40 6*8 =48 7*8 =56 8*8 =64
1*7 = 7 2*7 =14 3*7 =21 4*7 =28 5*7 =35 6*7 =42 7*7 =49
1*6 = 6 2*6 =12 3*6 =18 4*6 =24 5*6 =30 6*6 =36
1*5 = 5 2*5 =10 3*5 =15 4*5 =20 5*5 =25
1*4 = 4 2*4 = 8 3*4 =12 4*4 =16
1*3 = 3 2*3 = 6 3*3 = 9
1*2 = 2 2*2 = 4
1*1 = 1

python while 循環打印九九乘法表