# 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)"}
    141 views