PYTHON程式語言的學習-2

在這個講次當中我們準備了3個程式來加深各位同學對於迴圈以及邏輯判斷的應用。

  1. 在這個範例程式中我們將學習,如何巧妙地運用邏輯判斷和迴圈,算出兩個整數之間的所有質數。 這是我們第一個範例程式,在程式當中我們先學到
    • 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輸入的用法。



  2. 在這個程式中,你將學會檢查某年是否為閏年。 我們將使用嵌套的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]。


  3. 在下面的程序中,從外部輸入三個整數分別存儲在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。