程式碼在 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 同 while 與 if 均須在 最後加一個 『:』,後面的內容記得要縮排
最後輸出 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='')