PYTHON程式語言的學習-2
在這個講次當中我們準備了3個程式來加深各位同學對於迴圈以及邏輯判斷的應用。
-
在這個範例程式中我們將學習,如何巧妙地運用邏輯判斷和迴圈,算出兩個整數之間的所有質數。
這是我們第一個範例程式,在程式當中我們先學到
- for num 外迴圈跑過lower and upper之間的所有整數,內迴圈的計算再確定num是否為質數。
- 什麼是質數?就是一個整數除了1之外,沒有任何比他小的整數可以整除這個整數,滿足此條件的整數就是質數
- 進入內迴圈之前我們讓K=0
- 在迴圈中只要有任何一個整數i可以整除num,終止迴圈的運算並且將K=1
- for i迴圈執行結束之後如果K的值等於1就表示num不是質數,若K仍然等於0,num就是質數,就打印出。
- line 1: lower=900 \(\rightarrow\) 迴圈的下限
- line 2: upper=1000 \(\rightarrow\) 迴圈的上限
- line 4: 注意range用upper+1才能達到1000
- line 4~10: 外迴圈\(900 \le num \le 1000\),跑過這個範圍內的所有num,考察num是否是質數。
- line 6~9: 內迴圈:考察所有比num還要小的所有整數是否能夠整除num
- line 5, 8; K 是一個指標變數,當程式執行到line-10,如果K=0就打印出這個質數,K=1表示num不是質數,不需打印。
- line 7; if(num%i == 0): \(\rightarrow\) num被i除餘數為0,表示num不是質數,令K=1。
在進入下一個範例程式之前我們先看下面兩個簡短的小程式,介紹while迴圈和Input輸入的用法。
-
在這個程式中,你將學會檢查某年是否為閏年。 我們將使用嵌套的if ... else來解決這個問題。
閏年就是公元年可以被4整除但不能被100整除,或者公元年可以被400整除。例如,
- 2017年不是一個閏年
- 1900年是一個不閏年
- 2012年是一個閏年
- 2000年是閏年
語法重點
- while迴圈
- 用input輸入
- 三層嵌套的if ... else
- line-1: while 迴圈, True: 永不止歇的迴圈,除非
- line-3: 輸入的年份year=0時就中斷(break)迴圈的執行
- line-2: 用input輸入year
- line-2: year=int(input("Ent 將輸入的字串轉換為整數,year是整數變數。
- line-4,12: 最外層的邏輯判斷:year是否能夠被4整除,若不能被4整除就一定是平年(1)。
- line-5,10: 中間層的邏輯判斷: year能被4整除的情況下再確定year能否被100整除,如果不能被100整除就確定為閏年(1):line-11
- line-6,8:最內層的邏輯判斷: year能被100整除的情況下再確定能否被400整除,若不能被400整除那麼就是平年(2)[line-9],否則就是閏年(2)[line-7]。
-
在下面的程序中,從外部輸入三個整數分別存儲在num1,num2和num3中。 我們使用if ... elif ... else來查找三個中最大的一個。
- line-1~3: 從外部輸入三個整數分別存儲在num1,num2和num3中
- line-5: if (num1 >= num2) and (num1 >= num3): and=且,>=大於等於
- line-8: 除了if ... else 的判斷之外,可再加入 elif
- line-7,10,13分別代表三種可能的情況case 1, case 2, case 3。