---
# System prepended metadata

title: wk5

---

# wk5_1005
 wk5 1005

ch04_迴圈
4.1  range 函式
1. 認識 range 函式
2. range 函式的語法
4.2  for 迴圈
1. 巢狀 for 迴圈
2. break 命令
3. continue 命令
4.3 while 迴圈
 【inclass practice】
 {綜合演練}
實作4 :
小杰在for迴圈中使用or運算 if( i % 3 ==0  or i % 7 ==0)，
求出數值 1~100中，所有是3或7倍數的數之總和
In [3]:
sum=0
for i in range(1,1000000):
    if( i % 11 ==0  and i % 7 ==0):
        sum+=i
print(sum)
6493993506
In [18]:
for i in range(1,6):
    print("*"*i)
*
**
***
****
*****
 實作5:
一個正整數除了1和自己外，無法再被其他數整除，這個數就是質數。
請輸入一正整數，列出此數的所有正因數，並判斷使數字是否為質數
In [2]:
n=m=int(input("請輸入數字"))
a=0
while True:
    for i in range(2,(n+1)):
        if i==m:
            break
        if n%i==0:
            a+=i
            print(i," ",end=" ")
    if n==1 or n==m:
        break
if a==m and m!=1:
    print(m,"為質數")
elif m==1:
    print(m,"沒有因數")
else:
    print(m,"不為質數")
請輸入數字30
2   3   5   6   10   15   30 不為質數
{範例}
 1. 觀察各種不同參數的以range()建立的數列 
 2. 顯示正整數數列 
 3. 計算正整數總和 
 4. #字直角三角形 
 5. 九九乘法表 
 6. 最小公倍數 
 7. 顯示正整數數列，排除5的倍數 
 8 while迴圈計算階乘 
 
In [20]:
for i in range(1,11):
    print(i,end=" ")
1 2 3 4 5 6 7 8 9 10 
In [22]:
sum=0
for i in range(1,11):
    sum+=i
print(sum)
55
In [31]:
a=0
for i in range(1,10):
    for j in range(1,10):
        a=i*j
        print(i,"*",j,"=",a," ",end=" ")
    print(' \n')
1 * 1 = 1   1 * 2 = 2   1 * 3 = 3   1 * 4 = 4   1 * 5 = 5   1 * 6 = 6   1 * 7 = 7   1 * 8 = 8   1 * 9 = 9    

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 * 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 * 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 * 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 * 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 * 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 * 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 * 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    

In [13]:
n=int(input("請輸入數字"))
for i in range(1,n+1):
    k=i+1
    for i in range(1,k):
        print(i,end=" ")
    print('\n')
        
請輸入數字5
1 

1 2 

1 2 3 

1 2 3 4 

1 2 3 4 5 

 【afterclass practice】
1. 綜合演練 選擇題1-10  (需抄題在markdown cell ; 有程式碼的題目要有code cell )
2. 教學影音 lesson 9
( C ) 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]
In [ ]:
list1 = range(5)
print(list(list1))
( A ) 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]
In [ ]:
list1=range(6,0,-2)
print(list(list1))
( B ) 3. 執行下列程式，結束迴圈後，n 的值為多少？
for n in range(1,5,2):
print(n,end=" ")
print("結束迴圈後 n=",n)
(A) 1 (B) 3 (C) 5 (D) 7
In [1]:
for n in range(1,5,2):
    print(n,end=" ")
print("結束迴圈後 n=",n)
1 3 結束迴圈後 n= 3
( A ) 4. 執行 for 廻圈時，如果想要提前離開廻圈，應使用何種指令？
(A) break (B) return (C) exit (D) pause
( C ) 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]
In [2]:
list1 = range(5,-1,-2)
print(list(list1))
[5, 3, 1]
( B ) 6. while 廻圈若一開始測試條件就不成立，則 while 內程式區塊將會如何處理？
(A) 執行一次 (B) 一次都不執行 (C) 重複執行 (D) 編譯錯誤
( D ) 7. 下列那一個指令可在廻圈中跳過後面的敘述直接回到廻圈的開頭？
(A) exit (B) return (C) pause (D) continue
( C ) 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
In [7]:
sum = 0
n=8
for i in range(1, n+1,2):
    sum += i
print(sum)
16
( D ) 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
In [9]:
n=5
for i in range(1,n):
    for j in range(1,i+1):
        print("#", end="")
    print()
#
##
###
####
( C ) 10. 執行下列程式，結束迴圈後，total 的值為多少？
total = i = 1
n=5
while(i<=n):
total *= i
i+=1
print(total)
(A) 5 (B) 24 (C) 120 (D) 720
In [4]:
total = i = 1
n=5
while(i<=n):
    total *= i
    i+=1
print(total)
