# wk05_1005_Loop 1. range 函式 -認識 range 函式 -range 函式的語法 2. for 迴圈 -巢狀 for 迴圈 -break 命令 -continue 命令 3. while 迴圈 ## {inclass_practice} ```python print("**" * 3) print("i love u. \n " * 3) ``` ****** i love u. i love u. i love u. ```python print("*" * 1) print("*" * 2) print("*" * 3) print("*" * 4) print("*" * 5) ``` * ** *** **** ***** ```python for i in [1, 2, 3, 4, 5] : print("@" * i) ``` @ @@ @@@ @@@@ @@@@@ ```python a1 = 100 a2 = 100 a3 = 80 # 不同方式的資料儲存 a_list = [100, 100, 80] # 從零開始 print(a1, a2, a3) print(a_list) print(a_list[0]) ``` 100 100 80 [100, 100, 80] 100 ```python # 1加到3 n = 3 ttl = 0+1 ttl = ttl + 2 ttl = ttl + 3 print(ttl) ``` 6 ```python n = 3 ttl = 0 # 乘法不能用 0 for i in[1,2,3,4,5,6,7,8,9,10] : ttl = ttl + i print(ttl) ``` 55 ```python print(list(range(5))) print(list(range(3, 10))) print(type(range(5))) print(type(list(range(3, 10)))) ``` [0, 1, 2, 3, 4] [3, 4, 5, 6, 7, 8, 9] <class 'range'> <class 'list'> ```python n = 1000 ttl = 0 for i in range(1, 1001) : ttl = ttl + i print(ttl) ``` 500500 ```python n = 2000000 ttl = 0 for i in range(1, 2000001) : ttl = ttl + i print(ttl) ``` 2000001000000 ```python n = int(input("n?")) ttl = 0 for i in range(1, n+1) : ttl = ttl + i print(ttl) ``` n?10 55 ```python n = int(input("n?")) ttl = 0 for i in range(1, n+1, 2) : ttl = ttl + i print(ttl) ``` n?10 25 ```python n = int(input("n?")) ttl = 0 for i in range(1, n+1) : if i%7 == 0 and i%11 == 0 : ttl = ttl + i print(ttl) ``` n?1000000 6493993506 ```python a = 9 b = 9 for j in range(2, 9+1) : print("這是",j,"的乘法") for i in range(1, 9+1) : print(j, "*", i, "=", j * i) #print("2*1 = 2") #print("2*2 = 4") #print("2*9 = 18") ``` 這是 2 的乘法 2 * 1 = 2 2 * 2 = 4 2 * 3 = 6 2 * 4 = 8 2 * 5 = 10 2 * 6 = 12 2 * 7 = 14 2 * 8 = 16 2 * 9 = 18 這是 3 的乘法 3 * 1 = 3 3 * 2 = 6 3 * 3 = 9 3 * 4 = 12 3 * 5 = 15 3 * 6 = 18 3 * 7 = 21 3 * 8 = 24 3 * 9 = 27 這是 4 的乘法 4 * 1 = 4 4 * 2 = 8 4 * 3 = 12 4 * 4 = 16 4 * 5 = 20 4 * 6 = 24 4 * 7 = 28 4 * 8 = 32 4 * 9 = 36 這是 5 的乘法 5 * 1 = 5 5 * 2 = 10 5 * 3 = 15 5 * 4 = 20 5 * 5 = 25 5 * 6 = 30 5 * 7 = 35 5 * 8 = 40 5 * 9 = 45 這是 6 的乘法 6 * 1 = 6 6 * 2 = 12 6 * 3 = 18 6 * 4 = 24 6 * 5 = 30 6 * 6 = 36 6 * 7 = 42 6 * 8 = 48 6 * 9 = 54 這是 7 的乘法 7 * 1 = 7 7 * 2 = 14 7 * 3 = 21 7 * 4 = 28 7 * 5 = 35 7 * 6 = 42 7 * 7 = 49 7 * 8 = 56 7 * 9 = 63 這是 8 的乘法 8 * 1 = 8 8 * 2 = 16 8 * 3 = 24 8 * 4 = 32 8 * 5 = 40 8 * 6 = 48 8 * 7 = 56 8 * 8 = 64 8 * 9 = 72 這是 9 的乘法 9 * 1 = 9 9 * 2 = 18 9 * 3 = 27 9 * 4 = 36 9 * 5 = 45 9 * 6 = 54 9 * 7 = 63 9 * 8 = 72 9 * 9 = 81 ## {afterclass_practice} ### 1.執行下列程式,下列結果何者正確? list1 = range(5) print(list(list1)) (A) [1, 2, 3, 4] (B) [ 1, 2, 3, 4,5] (C) [0, 1, 2, 3, 4] (D) [0, 1, 2, 3, 4,5] ```python list1 = range(5) print(list(list1)) ``` [0, 1, 2, 3, 4] ans : (C) ### 2.執行下列程式,下列結果何者正確? list1=range(6,0,-2) print(list(list1)) (A) [6, 4, 2] (B) [6, 0, -2] (C) [6, 4, 2, 0] (D) [6, 4, 2, 0, -2] ```python list1=range(6,0,-2) print(list(list1)) ``` [6, 4, 2] ans : (A) ### 3.執行下列程式,結束迴圈後,n 的值為多少? for n in range(1,5,2): print(n,end=" ") print("結束迴圈後 n=",n) (A) 1 (B) 3 (C) 5 (D) 7 ```python for n in range(1,5,2): print(n,end=" ") print("結束迴圈後 n=",n) ``` 1 3 結束迴圈後 n= 3 ans : (B) ### 4.執行 for 廻圈時,如果想要提前離開廻圈,應使用何種指令? (A) break (B) return (C) exit (D) pause ans : (A) ### 5.執行下列程式,下列結果何者正確? list1 = range(5,-1,-2) print(list(list1)) (A) [5,-1,-2] (B) [ 5,4,3,2,1,0,-1] (C) [5, 3, 1] (D) [5,3,1,-1] ```python list1 = range(5,-1,-2) print(list(list1)) ``` [5, 3, 1] ans : (C) ### 6.while 廻圈若一開始測試條件就不成立,則 while 內程式區塊將會如何處理? (A) 執行一次 (B) 一次都不執行 (C) 重複執行 (D) 編譯錯誤 ans : (B) ### 7.下列那一個指令可在廻圈中跳過後面的敘述直接回到廻圈的開頭? (A) exit (B) return (C) pause (D) continue ans : (D) ### 8.執行下列程式,結束迴圈後,sum 的值為多少? sum = 0 n=8 for i in range(1, n+1,2): sum += i print(sum) (A) 8 (B) 9 (C) 16 (D) 28 ```python sum = 0 n=8 for i in range(1, n+1,2): sum += i print(sum) ``` 16 ans : (C) ### 9.執行下列程式,可看到多少個「#」字? n=5 for i in range(1,n): for j in range(1,i+1): print("#", end="") print() (A) 5 (B) 6 (C) 7 (D) 10 ```python n=5 for i in range(1,n): for j in range(1,i+1): print("#", end="") print() ``` # ## ### #### ans : (D) ### 10.執行下列程式,結束迴圈後,total 的值為多少? total = i = 1 n=5 while(i<=n): total *= i i+=1 print(total) (A) 5 (B) 24 (C) 120 (D) 720 ```python total = i = 1 n=5 while(i<=n): total *= i i+=1 print(total) ``` 120 ans : (C)