### wk05_1005_B1003217
### [inclass practice]
<pre>
ch04_迴圈
4.1 range 函式
認識 range 函式
range 函式的語法
4.2 for 迴圈
巢狀 for 迴圈
break 命令
continue 命令
4.3 while 迴圈
</pre>
```python
print("*")
print("**")
print("***")
print("****")
print("*****")
```
*
**
***
****
*****
```python
print(" i love you"*50)
```
i love you i love you i love you i love you i love you i love you i love you i love you i love you i love you i love you i love you i love you i love you i love you i love you i love you i love you i love you i love you i love you i love you i love you i love you i love you i love you i love you i love you i love you i love you i love you i love you i love you i love you i love you i love you i love you i love you i love you i love you i love you i love you i love you i love you i love you i love you i love you i love you i love you i love you
```python
print("*"*1)
print("*"*2)
print("*"*3)
print("*"*4)
print("*"*5)
```
*
**
***
****
*****
```python
a="*"
b=500
print(a*b)
```
********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************
```python
c1="amanda"
c2="alice"
c3="amma"
c4="amy"
c=["amanda","alice","amma","amy"]
print(type(c))
print(c1,c2,c3,c4)
print(c*10)
```
<class 'list'>
amanda alice amma amy
['amanda', 'alice', 'amma', 'amy', 'amanda', 'alice', 'amma', 'amy', 'amanda', 'alice', 'amma', 'amy', 'amanda', 'alice', 'amma', 'amy', 'amanda', 'alice', 'amma', 'amy', 'amanda', 'alice', 'amma', 'amy', 'amanda', 'alice', 'amma', 'amy', 'amanda', 'alice', 'amma', 'amy', 'amanda', 'alice', 'amma', 'amy', 'amanda', 'alice', 'amma', 'amy']
```python
print("*"*1)
print("*"*2)
print("*"*3)
print("*"*4)
print("*"*5)
for i in [1,2,3,4,5,6,7,8,9]:
print("$*"*i)
for i in [1,2,3,4,5,6,7,8,9]:
print("$*")
```
*
**
***
****
*****
$*
$*$*
$*$*$*
$*$*$*$*
$*$*$*$*$*
$*$*$*$*$*$*
$*$*$*$*$*$*$*
$*$*$*$*$*$*$*$*
$*$*$*$*$*$*$*$*$*
$*
$*
$*
$*
$*
$*
$*
$*
$*
```python
for i in range(1,11):
print("$"*i)
```
$
$$
$$$
$$$$
$$$$$
$$$$$$
$$$$$$$
$$$$$$$$
$$$$$$$$$
$$$$$$$$$$
```python
n=10
ttl=1
ttl=ttl+2
ttl=ttl+3
ttl=ttl+4
ttl=ttl+5
ttl=ttl+6
ttl=ttl+7
ttl=ttl+8
ttl=ttl+9
ttl=ttl+10
print(ttl)
```
55
```python
n=10
ttl=0
for i in range(1,100):
ttl=i+ttl
print(ttl)
```
4950
```python
n=10
ttl=0
for i in range(1,11,2): #只加單數
ttl=i+ttl
print(ttl)
```
25
```python
n=10
ttl=0
for i in range(0,11,2): #只加雙數
ttl=i+ttl
print(ttl)
```
30
```python
n=int(input("entery your n "))
# n=10
ttl=0
for i in range(1,n+1,2):
ttl=i+ttl
print(ttl)
```
entery your n 10
25
```python
n=10
ttl=0
for i in range(1,11):
if(i%3==0 or i%5==0):
ttl=i+ttl
print(ttl)
```
33
```python
n=int(input("輸入一變數n "))
a=int(input("除a "))
b=int(input("除b "))
ttl=0
for i in range(1,n):
if(i%a==0 or i%b==0):
ttl=i+ttl
print(ttl)
```
輸入一變數n 11
除a 3
除b 5
33
```python
a=2
b=9
for i in range(1,b+1):
print(a,"*",i,"=",a*i)
#print("2*1=2")
#print("2*2=4")
```
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
```python
a=2
b=9
for i in range(1,b+1):
print(a,"*",i,"=",a*i)
print(i,a,b)
```
2 * 1 = 2
1 2 9
2 * 2 = 4
2 2 9
2 * 3 = 6
3 2 9
2 * 4 = 8
4 2 9
2 * 5 = 10
5 2 9
2 * 6 = 12
6 2 9
2 * 7 = 14
7 2 9
2 * 8 = 16
8 2 9
2 * 9 = 18
9 2 9
```python
a=9
b=9
for j in range(2,b+1):
print("這是",j,"的乘法")
for i in range(1,b+1):
print(j,"*",i,"=",j*i)
```
這是 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
```python
list(range(10))
```
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
數列變數=range(起始值,終止值,間隔值)
### [afterclass practice]
#### 綜合演練 選擇題1-10
<pre>
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]
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]
B 3.執行下列程式,結束迴圈後,n的值為多少?
for n in range(1,5,2):
print(n,end="")
print("結束迴圈後 n=",n)
(A)1
(B)3
(C)5
(D)7
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]
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
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
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
</pre>
```python
#1
list1=range(5)
print(list(list1))
```
[0, 1, 2, 3, 4]
```python
#2
list1=range(6,0,-2)
print(list(list1))
```
[6, 4, 2]
```python
#3
for n in range(1,5,2):
print(n,end="")
print("結束迴圈後 n=",n)
```
13結束迴圈後 n= 3
```python
#5
list1=range(5,-1,-2)
print(list(list1))
```
[5, 3, 1]
```python
#8
sum=0
n=8
for i in range(1,n+1,2):
sum +=i
print(sum)
```
16
```python
#9
n=5
for i in range(1,n):
for j in range(1,i+1):
print("#",end="")
print()
```
#
##
###
####
```python
#10
total=i=1
n=5
while(i<=n):
total *=i
i+=1
print(total)
```
120
#### 教學影音 lesson 9
<pre>
for 迴圈用於執行固定次數的動作
語法
for 變數 in 串列:
程式區塊
ex:計算1+2+...+10之和
sum=0
for i in range(1,11):
sum +=i
print("sum=%d" sum)
while 迴圈用於執行次數不固定的迴圈
語法
while條件式:
成式區塊
ex:計算1+2+...+10之和
total=n=0
while(n<10)
n +=1
total +=n
print(total)
# 1+2+...+10=55
break強制離開迴圈,例如:
for i in range(1,11):
if(i==4):
break
print(i,end=",") #執行結果:1,2,3
continue在迴圈執行中途暫停不往下執行,而跳到迴圈起始處繼續執行,例如:
for i in range(1,11):
if(i==4):
continue
print(i,end=",")
#執行結果:1,2,3,5,6,7,8,9,10
</pre>
### [self practice]
實作4 :
小杰在for迴圈中使用or運算 if( i % 3 ==0 or i % 7 ==0),
求出數值 1~100中,所有是3或7倍數的數之總和
```python
n=10
ttl=0
for i in range(1,100):
if(i%3==0 or i%7==0):
ttl=i+ttl
print(ttl)
```
2208