計算機之所以能做很多自動化的任務,因為它可以自己做條件判斷。
比如,輸入使用者年齡,根據年齡列印不同的內容,在python程式中,用if語句實現:
age = 20
if age >= 18:print('your age is',age)print('adult')
根據python的縮排規則,如果if語句判斷是true,就把縮排的兩行print語句執行了,否則就什麼都不做。
也可以給if新增乙個else語句,意思是,如果if判斷是false,不要執行if的內容,去把else執行了
age = 3
if age >= 18:print('your age is',age)print('adult')else:print('your age is',age)print('teenager')
注意不要少寫了冒號:。
當然上面的判斷是很粗糙,完全可以用elif做更細緻的判斷
age = 3
if age >= 18:print('your age is',age)print('adult')elif age >=6:print('teenager')else:print('kid')
elif是else if的縮寫,完全可以有多個elif,所以if語句的完整形式就是:
if(條件判斷1):
elif(條件判斷2):
elif(條件判斷3):
else:
if語句執行有個特點,它是從上往下判斷,如果在某個判斷上是true,把該判斷對應的語句執行後,就忽略掉身下的elif和else,所以,請測試並解釋為什麼下面的程式列印的是teenager:
age = 20
if age >= 6:print('teenager')elif age >=18:print('adult')else:print('kid')
if判斷條件還可以簡寫,比如寫:
ifx:print('true')
只要x是非零數值、非空字串,非空list等,就判斷為true,否則為false。
再議input
最後看乙個有問題的條件判斷,很多同學會用input()讀取使用者的輸入,這樣可以自己輸入,程式執行得更有意思:
birth = input('birth:')if birth < 2000:print('00前')else:print('00後')
輸入1982,結果報錯。
這是因為input()返回的資料型別是str,str不能直接和整數比較,必須先把str轉換成整數。python提供了int()函式來完成這件事情:
s = input('birth:')
birth=int(s)if birth < 2000:print('00前')else:print('00後')
再次執行,就可以得到正確地結果。但是,如果輸入abc呢?又會得到乙個錯誤資訊。
原來是int()函式發現乙個字串並不是合法的數字時就會報錯,程式就退出了。
python中建立類role 初識Python類
吐槽 學習物件導向就像你追乙個女神一樣,剛剛有點感覺了,過幾天又陷入絕望的感覺,很蛋疼。類的語法 classperson object print learning class test person test就是類person的例項化物件 例項化,就是以person類為模板,在記憶體裡開闢一塊空間...
python中的判斷 python中判斷變數的型別
python中判斷變數的型別 python的資料型別有 數字 int 浮點 float 字串 str 列表 list 元組 tuple 字典 dict 集合 set 一般通過以下方法進行判斷 1 isinstance 引數1,引數2 描述 該函式用來判斷乙個變數 引數1 是否是已知的變數型別 引數2...
在python中輸出 在輸出中列印Python版本
如何從指令碼中列印當前python安裝的版本號?嘗試import sys print sys.version 這將列印完整的版本資訊字串。如果您只想要python版本號,那麼bastien l onard的解決方案是最好的。您可能想檢查完整的字串,看看是否需要它或它的一部分。import platf...