2-4 迴圈 (1) - FOR 迴圈
程式語言基本三大結構
- 循序結構
- 選擇結構
- 重複結構(迴圈)
迴圈結構
電腦每秒鐘可執行幾億次的指令,擁有強大的計算能力,程式中迴圈結構可以重複執行某個程式區塊許多次,如此才能善用電腦的計算能力。迴圈結構利用指定迴圈變數的初始條件、迴圈變數的終止條件與迴圈變數的增減值來控制迴圈執行次數。許多問題的解決都涉及迴圈結構的使用,例如:加總、排序、找最大值…等,善用迴圈結構才能有效利用電腦的運算能力與簡化程式碼。
一、.FOR迴圈
for迴圈語法 1
for 變數名稱 in range(最大值):
# 迴圈內要做的事情 例如以下指令可以顯示變數內容
print( 變數名稱 )
for迴圈語法 2
for 變數名稱 in range ( 起始值 , 終止值的下一個數 , 遞增量 )
# 迴圈內要做的事情 例如以下指令可以顯示變數內容
print( 變數名稱 )
起始值若未指定,就是0
遞增量若未指定,就是1
自我練習:
range( 10 ) => 產生 0 1 2 ... 9
range( n ) => 產生 0 1 2 ... n-1
range(0, 10 ) => 產生 ?
range(3, 10 ) => 產生 ?
range(3, 10, 2 ) => 產生 ?
range(2, 10, 3 ) => 產生 ?
range(5, 1, -1 ) => 產生 ?
range(1, 3, -1 ) => 產生 ?
範例1 : 印出 1 ~ 9
for i in range(1,10):
for i in range(1,10):
print(i )
範例2: 印出 1 ~ 9 ,每個數字以逗號間隔 ?
for i in range(1,10):
print(i , end=',')
範例3:印出 1 ~ 9 ,每個數字以「定位點」間隔 ?
for i in range(1,10):
print(i , end='\t')
練習1:
計算 1+2+3+...+50 的總和 (1275)
練習2:
計算 5+10+15+...+50 的總和 (275)
練習3:
計算1到100間,所有數字的平方和 (338350)
練習4 :計算17到31間,所有數字的立方和 (227520)
練習5:輸入正整數 N,計算 1+2+3+...+N 的總和
練習6:計算 1 到100 之間奇數的總和 (2500)
練習7:
輸入正整數A跟B,找出在A到B之間,所有5的倍數的總和
測試結果:
A=10
B=450
5的倍數的總和=20470
練習8:輸入正整數A跟B,找出在A到B之間,所有13的倍數的立方和
測試結果:
A=20
B=100
13的倍數的立方和=1720251
練習9:計算 5! (也就是計算 1x2x3x4x5 = 120)
練習10:計算 10! (也就是計算 1x2x...x10 = 3628800)
練習11:在1到100之間,找到2的倍數,或者5的倍數,將這些數加總起來是多少 ? (3050)
練習12:在1到100之間,找到2或5的倍數,但不是10的倍數,將這些數加總起來是多少 ? (2500)
二維迴圈 (巢狀迴圈)
範例: 產生三三乘法表
for i in range(1,4):
for j in range(1,4):
print(i*j, end=',')
print('')
輸出:
1,2,3,
2,4,6,
3,6,9,
練習1:九九乘法表
(每個數字之間以「定位點」隔開)
練習2:畫星星 - 1
提示:
練習3:畫星星 - 2
提示:
練習4:畫星星 - 3