Python 條件判斷

2021-08-03 13:38:06 字數 3808 閱讀 7021



python

之if語句

計算機之所以能做很多自動化的任務,因為它可以自己做條件判斷。

比如,輸入使用者年齡,根據年齡列印不同的內容,在python程式中,可以用

if語句

實現:

age = 20

if age >= 18:

print 'your age is', age

print 'adult'

print 'end'

注意:

python

**的縮排規則

。具有相同縮排的**被視為**塊,上面的3,4行print 語句就構成乙個**塊(但不包括第5行的print)。如果if 語句判斷為true,就會執行這個**塊。

縮排請嚴格按照python的習慣寫法:

4個空格,不要使用tab,更不要混合tab和空格

,否則很容易造成因為縮排引起的語法錯誤。

注意: if

語句後接表示式,然後用

:表示**塊開始。

如果你在

python

互動環境

下敲**,還要特別

留意縮排

,並且退出縮排需要多敲一行回車:

>>> age = 20

>>> if age >= 18:

...print 'your age is', age

...print 'adult'

...

your age is 20

adult

任務

如果成績達到60分或以上,視為passed。

假設bart同學的分數是75,請用if語句判斷是否能列印出passed:

score = 75

if score >= 60:

print 'passed' 當

if 語句判斷表示式的結果為

true

時,就會執行if包含的**塊:

if age >= 18

:

print 'adult'

如果我們想判斷年齡在18歲以下時,列印出'teenager',怎麼辦?

方法是再寫乙個if:

if age < 18

:

print 'teenager'

或者用not 運算:

if not age >= 18

:

print 'teenager'

細心的同學可以發現,這兩種條件判斷是「非此即彼」的,要麼符合條件1,要麼符合條件2,因此,完全可以用乙個

if... else ...

語句把它們統一起來:

if age >= 18

:

print 'adult'
else

:

print 'teenager'

利用if ... else ... 語句,我們可以根據條件表示式的值為

true

或者false

,分別執行

if **塊或者

else 

**塊。

注意:

else

後面有個

「:」。

如果成績達到60分或以上,視為passed,否則視為failed。

假設bart同學的分數是55,請用if語句列印出passed 或者failed:

score = 55

if score >=60 :

print 'passed'

else :

print 'failed'

有的時候,乙個if ... else ... 還不夠用。比如,根據年齡的劃分:

條件1:

18歲或以上:

adult

條件2:

6歲或以上:

teenager

條件3:

6歲以下:

kid

我們可以用乙個if age >= 18 判斷是否符合條件1,如果不符合,再通過乙個if 判斷age >= 6 來判斷是否符合條件2,否則,執行條件3:

if age >= 18:
print 'adult'
else:

if age >= 6:

print 'teenager'

else:

print 'kid'

這樣寫出來,我們就得到了乙個兩層巢狀的if ... else ... 語句。這個邏輯沒有問題,但是,如果繼續增加條件,比如3歲以下是baby:

if age >= 18:
print 'adult'
else:

if age >= 6:

print 'teenager'

else:

if age >= 3:

print 'kid'

else:

print 'baby'

這種縮排只會越來越多,**也會越來越難看。

要避免巢狀結構的if ... else ...,我們可以用

if ...

多個elif ... else ...

的結構,一次寫完所有的規則:

if

age >= 18

:

print 'adult'
elif

age >= 6

:

print 'teenager'
elif

age >= 3

:

print 'kid'
else:
print 'baby'

elif

意思就是

elseif

。這樣一來,我們就寫出了結構非常清晰的一系列條件判斷。

特別注意: 

這一系列條件判斷會從上到下依次判斷,如果某個判斷為true,執行完對應的**塊,後面的條件判斷就直接忽略,

不再執行了。

age = 8
if age >= 6:
print 'teenager'
elif age >= 18:
print 'adult'
else:
print 'kid'

當age = 8 時,結果正確,但age= 20 時,為什麼沒有列印出adult?

如果要修復,應該如何修復?

如果按照分數劃定結果: 90

分或以上:excellent

80分或以上:good

60分或以上:passed

60分以下:failed

請編寫程式根據分數列印結果。

score = 85

if score>=90:

print 'excellent'

elif score>=80:

print 'good'

elif score>=60:

print 'passed'

else:

print 'failed'

Python 條件判斷

python if語句if 條件判斷1 執行1 elif 條件判斷2 執行2 elif 條件判斷3 執行3 else 執行4 這個給兩個例子想必大家就能懂了 bmi指數 即身體質量指數,簡稱體質指數又稱體重,英文為body mass index,簡稱bmi bmi是用體重公斤數除以身高公尺數平方得出...

Python 條件判斷

python程式設計中if語句用於控制程式的執行,基本形式為 if 判斷條件 執行語句 score 80 if score 80 print score is a else print score is not a 注意 print語句要注意縮排,不要tab和空格混用,否則回變編譯報錯 案例2 成績...

Python 條件判斷

1,python 縮排規則 具有相同縮排的 視為 塊 2,縮排請嚴格按照python的習慣寫法 4個空格,不要使用tab,更不要混合tab和空格,否則很容易造成因為縮排引起的語法錯誤。age 20 if age 18 print your age is age print adult print e...