Curious George sees the world
 
python  99 乘法表 for / while

python 99 乘法表 for / while

程式碼在 GitHub

Python multiplication tables – use For Loops

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

for 迴圈 後面接一個變數 i,接下來是一個序列,在這用的是一個從1 到 9 範圍
接著再用一個變數 j,範圍一樣是 1到 9
第三行把 i * j 的值丟給變數 s
for whileif  均須在 最後加一個 『:』,後面的內容記得要縮排
最後輸出 99 乘法表,如果想讓它輸出時不換行,可改為這樣的寫法

for i in range(1,10):
    for j in range(1,10):
        s=  i*j
        print ('%d * %d = %d   ' %(i, j , s), end="")
          
    print('\n')
    #採用 F-string 的寫法,可以更精簡 
    #for i in range(1,10):
    #   for j in range(1,10):
    #      s=f"{i}*{j}={i*j} "   
    #      print (s, end='')   或直接兩行併一行  print (f"{i}*{j}={i*j} ", end='')
    #print('\n')
    #

, end=”” 控制輸出不換行
print(‘\n’) 中的 \n 是 newline ,大多數的程式換行都是這樣的寫法

range 的用法:
range(stop)   : 產生由 0 開始到 stop -1 的序列
range(start, stop[, step])  產生由 start 開始到 stop -1, 間隔 step 的序列
詳細可參考 https://docs.python.org/3/library/functions.html#func-range

不想用 range , 也可以自定 list

k=[1,2,3,4,5,6,7,8,9]

for i in k :
    for j in k:
        s=  i*j
        print ('%d * %d = %d   ' %(i, j , s), end="")

    print('\n')

再來,也可以利用 while 迴圈來做 Use while loops

i=1;
while i < 10:
    j=1
    while j < 10:
        s=  i*j
        print ('%d * %d = %d ' %(i, j , s))
        j += 1

    i += 1
    print('\n')
    #改用 F-string 的寫法  print (f"{i}*{j}={s} ", end='')