# Python班
## 9/15 社課
---
### 本次課程內容
* 條件判斷
* 迴圈I
* 巢狀迴圈
---
事前小叮嚀,待會所有範例與練習中,引用的內容
# 絕不代表本台立場
---
# 條件判斷
----
## if
----
「最單純」的條件判斷,只判斷「是」「否」
```python
if(條件):
your codes
```
當「條件」= True,執行your codes;
反之,就啥也不做
----
舉例:
```python
a=1
b=2
if(b>a):
print("b>a")
print(b>a)
```
輸出:
```python
b>a
2>1
```
----
## else
----
開始加入了一些東西
```python
if(條件):
codes 1
else:
codes 3
```
這次多了一個else
當「條件」= True,執行codes 1;
反之,執行codes 3
----
一樣來個範例
```python
FUJI = 77
CRC = 81
if(FUJI>CRC):
print("How's that possible...")
else:
print("Nuh-uh-, losers")
```
----
## elif
----
python的邏輯:else + if = elif
```python
if(條件2):
codes 3
elif(條件5):
codes 1
else:
codes 2
```
----
### 這個沒有示範
----
### 啊哈虛幌一槍,還是有範例
----
```python
Score = int(input())
CK = 34.6
HSNU = 33.6
YD = 5.1
if(Score >= CK):
print("You Are Genious")
elif(Score >= HSNU):
print("Marvelous!What a great school")
else:
print("Get out!")
```
----
上個範例說明了~~各校的位階高低~~
----
上個範例說明了elif一種常用的用法,當作刪去法的功能,也就是說第二行的判斷式,我們不需要寫
```python
Score >= HSNU and CK > Score
```
----
```python
a=10
b=20
if(a>b):
print("a>b")
elif(a==b):
print("a=b")
else:
print("a<b")
```
輸出:
```python
a<b
```
---
## 練習1
暑假有來資訊營的人,一定有聽過所謂的「CRC邏輯閘」,也就是描述男女關係的特殊邏輯,當時我們便利用了if/else來撰寫此程式。因此,我想要你們練習,用一個程式做出特殊的減法,使得輸入兩正整數a、b後,最後的輸出結果恆為一個負數。
---
# 迴圈
----
「程」如其名,迴圈就是不停輪迴的圈圈
----
```python
i=0
print(i)
i=1
print(i)
i=2
print(i)
i=3
print(i)
i=4
print(i)
```
輸出:
```python
0
1
2
3
4
```
----
為了把重複的東西統整起來
因此出現了迴圈
----
## for
----
```python
for i in range(5):
print(i)
```
輸出:
```python
0
1
2
3
4
```
由此可知,i會從0開始逐漸+1直到i>=10停止
(也有可能是一路扣至i<=k為止,後面會提)
----
## 各項參數
----
```
for i in range (s,e,k):
# s為開始數字
# e為結束數字
# 若i==e,不會執行
# k為每次加減多少
```
----
來舉個例子
```
for i in range(20,10,-2):
print(i)
```
輸出:
```python
20
18
16
14
12
```
----
## 巢狀迴圈
----
巢狀迴圈顧名思義就是多層迴圈
用大迴圈包著小迴圈
因為寫出來的感覺形似鳥巢
因此稱為巢狀迴圈
----
舉個例子
``` python
for i in range(1,4):
for j in range(1,4):
print(i, "*", j, "=", i * j, end = " ")
print("")
```
輸出:
```python
1*1=1 1*2=2 1*3=3
2*1=2 2*2=4 2*3=6
3*1=3 3*2=6 3*3=9
```
**i=1** ,j=1,j=2,j=3
**i=2** ,j=1,j=2,j=3
**i=3** ,j=1,j=2,j=3
---
## 練習2
請練習使用巢狀迴圈,來幫我們的社長運算下式。即:輸入\\(x\\),得到\\(f(x)\\)的值
\\[
f(x)=1+(1+2)+\dots+(1+2+\dots+x)
\\]
先用程式暴力硬解,閒暇之餘可以嘗試證明:
\\[
f(x)=\frac{1}{6}x(x+1)(x+2)
\\]
---
# 謝謝大(咳)家
###### (適逢感冒,喉嚨痛死了)
###### (安啦我全程口罩戴緊緊)
{"contributors":"[{\"id\":\"084e105f-92be-4605-b399-8d3c0ef40c64\",\"add\":3055,\"del\":574}]","title":"112-1-Python班-第三堂課(if、for)"}