1. 程式人生 > 其它 >Python列印九九乘法表

Python列印九九乘法表

技術標籤:# Python核心程式設計python

最近在學習Python的時候看到這樣一道題:

  • 列印如下所示的九九乘法表

拿到這道題,首先觀察一下,九行九列的階梯狀,很快想到了用兩層while迴圈巢狀來寫,外層迴圈控制行號(即寫到了第幾行),內層迴圈則控制每一行寫的內容。

程式如下:

i = 1
while i <= 9:
    j = 1
    while j <= i:
        print(f'{j}*{i}={i*j}', end='\t')
        j += 1
    print()
    i += 1

i表示行號j表示列號,每列中間用一個製表符分隔,倒數第二行print()實現換行。執行結果如下:

但是由於執行完第九行後,j變成10,又執行了一次print(),所以會多出一行空行。加一行判斷語句即可解決。
i = 1
while i <= 9:
    j = 1
    while j <= i:
        print(f'{j}*{i}={i*j}', end='\t')
        j += 1
    if j <= 9:
        print()
    i += 1

執行結果如下:


這裡提供另一種寫法,用一層for迴圈加一層while迴圈實現,原理是一樣的。

for i in range(10):
    j = 1
    while
j <= i: print(f'{j}*{i}={i*j}', end='\t') # print('{}*{}={}'.format(j, i, i*j), end='\t') # print('%d*%d=%d'%(j,i,i*j), end='\t') j += 1 if i >=1 and j <= 9: print()

註釋掉的部分是不同的格式化輸出方法,實現的效果相同,可以根據個人喜好選擇自己喜歡的方法。