2017年6月17日 星期六

Python ê 基礎 - 流程控制 if

if 是一的保留字爾爾,較十全的講法,愛講做 if statements,Statements 佇電腦科學裡,是表示會使完成一咧動作的上細的單元。你若欲寫 if, 愛共 if statements 攏寫予齊勻,袂使有落勾去,咱先來寫一咧簡單的程式, 先用凊彩一咧文字編輯程式,咱來寫一戲文, 我慣勢用 vim, 所以攏用 vi 來代表, 你會使用你家己佮意的。
咱這咧程式的名號做 "judge-even.py"

vi judge-even.py

vim 浮起頂了後,入下跤的內容:


#!/usr/bin/python3
y = input("input an integer:")
x = int(y)
if x % 2 == 0:
    print("is even")
print("END")

小可仔注意上尾算--來第二愛向正--入來,你會使用 TAB ,抑是 4 的 SPACE 。毋過,你若用 TAB 就固定用 TAB,用 SPACE 就固定用 SPACE,莫變來變去。

寫了後,揤 Save --起來(若是 vim 是 :wq),--落來予伊走看覓:

python3 judge-even.py



$ python3 judge-even.py 
input an integer:1
END
$ python3 judge-even.py
input an integer:2
is even
END
$ python3 judge-even.py
input an integer:4
is even
END

咱看著伊的回答,若是數,伊會加印一咧 "is even"。若是奇數就無。伊知影啥物數字是雙數。


頂懸的程式中,#!/usr/bin/python3 是一種固定的寫法,電腦講這咧程式是用 python3 語言寫的程式。y = input("input an integer:") 是小等運行時,會問你問題,而且等你回答。佇遮,就是問你:"input an integer:", 等你揤入數字了後閣揤 ENTER,程式就繼續行。

x = int(y) 這解說一咧。你敢會記个,咱捌講 Python 的抑是變數攏有型態,input() 會共人的攏當做字串(String)。因此 y 頭一擺出現就去 input() 的,伊的型態嘛是 String。毋過,咱欲用數字的型態才會做後壁的數學運算 %。int() 就是字串 y 轉做數字入去 x 內底。

紲落來咱的主角 if 出現囉:

if x % 2 == 0:
    print("is even")

這兩逝就拄仔好組成一咧 if statement。佇 Python 的 if statements(其他足濟 statements 嘛仝款):
用 if 開始做頭一逝,--落來的每一咧勼入去的逝,攏是 statements 的一部分。佇遮 x % 2 == 0 若成立,伊就去印 "is even"。若無成立,就跳--過。你毋才會看著 2, 4有印,1無印。


if statement,是uì if 𤆬頭彼逝起頭開始算。
if 這逝,用 if 起頭,兩粒屎的 : (colon, 華語:冒號) 囥佇尾溜,中鋏一咧判斷式。佇遮,就是 x % 2 == 0

閣紲落來的逝開始向正爿一咧 TAB! 一直到無閣勼--入來的逝,if statement 才結束。佇遮,干焦一逝勼--入來。所以這咧 if statement 攏總兩逝爾爾。

有時,咱毋是干焦欲印出雙數,嘛想欲印出奇數。一个數字,毋是雙个就是奇个,無彼種又閣雙又閣奇个,這時咱愛用 if-else statement:



#!/usr/bin/python3
y = input("input an integer:")
x = int(y)
if x % 2 == 0:
    print("is even")
else:
    print("is odd")
print("END")

若按呢,伊的輸出就會是:


$ python3 judge-even.py 
input an integer:1
is odd
END
$ python3 judge-even.py
input an integer:2
is even
END

有時,咱的條件毋但一咧,這个時陣,咱愛用 if-elif statements,咱修改抑是另外寫一咧戲文: vi judge-non2-3.py

#!/usr/bin/python3
x = int(input("input an integer:"))

if x % 2 == 0:
    pass
elif x % 3 == 0:
    pass
else:
    print("This is NOT multiple of 2 or 3")

運行:

$ python3 ./judge-non2-3.py 
input an integer:4
$ python3 ./judge-non2-3.py 
input an integer:9
$ python3 ./judge-non2-3.py 
input an integer:139
This is NOT multiple of 2 or 3

咱會當看著: 這咧程式會使予咱真緊就知影一咧數字,伊毋是 2, 抑是 3 的倍數。
頂--仔彼咧程式,若是 2 抑是 3 的 if-elif statment 內底,咱攏 passpass 佇 Python 裡,嘛是一咧保留字,伊的意思是:啥物攏莫做。佇遮的作用單純是欲造一咧 if-elif statement 爾爾。若無 pass, 就無勼排,if 抑是 elif statements 就無法度完成。因為咱對 2 抑是 3 的倍數無興趣,所以就予伊 pass。

沒有留言:

佇 Linux 來看GPX 檔案

最近定定有戶外活動。使用𤆬路機 (GPS) 來記錄行過的路線。普通我記錄路線,攏是用手機仔抑是專門个𤆬路機,罕得用電腦來看。 毋過,"仙人拍鼓有時錯,跤步踏差啥人無"。有一擺我無細膩,袂記得共一擺活動的路線收煞起來,閣直接開始記錄下一擺的活動,按呢共幾落...