Python小白入門:第四講|


Python小白入門:第四講||if語句

大家在編程時需要檢查一系列條件,並據此採取什麼措施。例如比較兩個數的大小;比較兩個字符是否一致。比較之後又該執行什麼?在Python中,if語句能檢查程序的當前狀態,並據此採取相應的措施。
在本章中,你將學習條件測試,來檢查相應的條件。你將學習幾個簡單的if語句,以及創建一系列複雜的if語句。你還會學到如何用if語句處理列表,以編寫for循環來處理列表中的大多數元素等。

在這一講中,你將學習了:

  • 如何編寫結果要麼為Ture 要麼為False 的條件測試
  • 如何編寫簡單的if 語句、if-else 語句和if-elif-else 結構。在程序中,你使用了這 些結構來測試特定的條件,以確定這些條件是否滿足。
  • 如何在利用高效的for 循環的同時,以不同於其他元素的方式對特定的列表元素進行處理。
  • Python就代碼格式方面提出的建議,這可確保即便你編寫的程序越來越複雜,其代碼依然易於閱讀和理解。

1.一個簡單示例

<code>cars = ['audi', 'bmw', 'subaru', 'toyota']
for car in cars:
if car == 'bmw':
print(car.upper())
else:
print(car.title())/<code>

這幾行代碼是為了打印列表中的汽車名,其中汽車名‘bmw’要求以全大寫的方式打印。

首先創建了一個名為cars的列表,隨後用了一個for循環。if語句的意思是:如果汽車==‘bmw’,就以大寫的方式打印(其中函數upper()是將字符串中所有字母大寫)否則(else),以小寫的方式打印。

注意:

1.for循環和if語句後的冒號不能少

2.在大多數語言中,兩個等號(==)表示相等,一個等號(=)表示賦值。(a = b ,就是將b的值賦值給a)

2.條件測試

每條if語句的核心都是一個值為True或False的表達式,這種表達式稱為條件測試。條件測試的術語是布爾表達式,布爾表達式的結果要麼為True,要麼為False。

Python根據條件測是的值為True還是False來決定是否執行if語句中的代碼。

大多數測試條件都將一個變量的當前值同特定值進行比較,比較相等用兩個等號(==),比較不相等結合使用感嘆號和等號(!=)。

Python小白入門:第四講||if語句

給a賦值為1,判斷a是否等於1(或等於2),返回True(或False)。條件運算中還可以包含各種數學比較,如小於(),大於等於(>=)。

在Python中,兩個大小寫不同的值會被視為不相等

Python小白入門:第四講||if語句

如果想將大寫變為小寫,可採用函數lower()

當判斷條件不止一個時,可採用and和or檢查多個條件。

Python小白入門:第四講||if語句

使用and時,只有當兩個條件都滿足時,才返回True。

而使用or時,至少有一個條件滿足時,就返回True。

使用if語句可以檢查特定值是否包含在列表中

Python小白入門:第四講||if語句

a是一個列表,包含b c d三個字符, b是一個變量,表示m這個字符。

如果表示成完整的if語句:if b in a:/ if b not in a:

<code>a = ['b', 'c', 'd']
b = 'm'
if b in a:
print("OK")
else:
print("what a pity!")/<code>

會發現終端輸出else下輸出內容,和預期的結果一樣

3.多個判斷條件的if語句

簡單的if語句只有一個測試(比較)和一個操作(執行),而大多數情況下,不可能只有一個比較的條件,往往題目下有許多條件。當有兩個條件時,可以使用if-else語句。兩個以上的判斷條件時,使用if-elif-else語句。

if-else語句

if-else語句類似簡單的if語句,但其中的else語句讓你能夠在指定測試條件未通過時要執行的操作(就是上圖what a pity的輸出原因)。

if-elif-else

Python只執行if-elif-else結構中的一個代碼塊,它一次檢查每個測試條件,直到遇到通過了的測試條件。測試通過後,Python將執行緊跟在它後面的代碼,並跳過餘下的測試。

<code>a = ['b', 'c', 'd']
b = 'm'
c = 'n'
d = 'q'
e = 'c'
if b in a:
print("OK")
elif c in a:
print("Great")
elif d in a:

print("well")
else:
print("what a pity!")/<code>

程序一次測試每個條件,按照b c d e 的順序。當程序發現前三個條件都不滿足時才會執行else下的語句。

也可以將else省略,只需將[else:]改為【if e in a:],輸出和上面一樣。

例子:

某遊樂場收費標準:4歲以下免費;4-18歲收費5美元;

18歲以上收費10美元;65歲以上6美元。

<code>age = 12

if age < 4:
price = 0
elif age < 18:
price = 5
elif age < 65:
price = 10
elif age >= 65:
price = 5

print(price)/<code>

4.使用if語句處理列表

檢查特殊元素

上文中檢查b c d e 是否在列表a中就是一個檢查特殊元素的實例。

確定列表不是空的

設置循環時列表不能是空的,所以在執行for循環之前需要判斷。Python在列表至少含有一個元素時返回True,列表為空時返回False。

<code>members = []
if members:
print("The list is not empty.")
else:
print("The list is empty.")/<code>

很顯然程序並沒有執行if語句下的print。

5.條件測試的格式設置

在條件測試的格式設置方面,PEP 8提供的唯一建議是,在諸如== 、>= 和<= 等比較運算符兩邊各添加一個空格,例如,if age < 4: 要比if age<4: 好。這樣的空格不會影響Python對代碼的解讀,而只是讓代碼閱讀起來更容易。


分享到:


相關文章: