有的時候,乙個 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 意思就是 else if。這樣一來,我們就寫出了結構非常清晰的一系列條件判斷。
特別注意:這一系列條件判斷會從上到下依次判斷,如果某個判斷為 true,執行完對應的**塊,後面的條件判斷就直接忽略,不再執行了。
請思考下面的**:
age = 8
if age >= 6:
print 'teenager'
elif age >= 18:
print 'adult'
else:
print 'kid'
當 age = 8 時,結果正確,但 age = 20 時,為什麼沒有列印出 adult?
如果要修復,應該如何修復?因為elif系列條件從上到下依次判斷,一旦某個判斷值為true,便停止不再判斷後面條件和**塊,當age=20時候,滿足第乙個迴圈,直接輸出'teenager',不會輸出'adult'。因此可以做一下修改:
age = 8
if age >= 18:
print 'adult'
elif age >= 6:
print 'teenager'
else:
print 'kid'
如果按照分數劃定結果:
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'
各種說明方法的例句 說明方法及例句 作業幫
說明方法,是寫說明文時用簡明扼要的語言把事物的實際情況恰如其分地表述出來的方法.說明方法有很多種,寫說明文要根據說明物件的特點及寫作目的,選用最佳的說明方法.常見的說明方法有 舉例子 分類別 列數字 作比較 列圖表 下定義 引資料 作詮釋 打比方 摹狀貌 作假設等.下面是詳細解釋和舉例 1 舉例子舉...
python的語句 Python的語句
python中的兩種語句 1 if條件控制語句 格式 if a int input 請輸入第乙個數 b int input 請輸入第二個數 if a b print a比b小 if else a int input 請輸入第乙個數 b int input 請輸入第二個數 if a b print a...
python的 py檔案如何生成
1.用輔助軟體生成 在安裝完python3.5或者python2.7之後,還得安裝輔助工具。輔助輔助工具可以選擇vs visual studio pycharm ipython wing pyscripter spyder等。pyscripter與vs2015社群版是免費的 spyder有類似於ma...