Skip to main content

2-4 迴圈 (1) - FOR 迴圈



程式語言基本三大結構

  • 循序結構
  • 選擇結構
  • 重複結構(迴圈)



迴圈結構


電腦每秒鐘可執行幾億次的指令,擁有強大的計算能力,程式中迴圈結構可以重複執行某個程式區塊許多次,如此才能善用電腦的計算能力。迴圈結構利用指定迴圈變數的初始條件、迴圈變數的終止條件與迴圈變數的增減值來控制迴圈執行次數。許多問題的解決都涉及迴圈結構的使用,例如:加總、排序、找最大值…等,善用迴圈結構才能有效利用電腦的運算能力與簡化程式碼。



一、.FOR迴圈


for迴圈語法 1

for 變數名稱 in range(最大值):

# 迴圈內要做的事情 例如以下指令可以顯示變數內容
print( 變數名稱 )

for迴圈語法 2

for 變數名稱 in  range ( 起始值 , 終止值的下一個數 , 遞增量 ):

# 迴圈內要做的事情 例如以下指令可以顯示變數內容
print( 變數名稱 )

起始值若未指定,就是0
遞增量若未指定,就是1

for 最後記得加上冒號!

自我練習:

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