Python 條件語句
需要考慮的問題:
1.老婆給當(dāng)程序員的老公打電話:“下班順路買10個(gè)包子帶回來,如果看到賣西瓜的,就買1個(gè)?!?br>當(dāng)晚,程序員老公手捧一個(gè)包子進(jìn)了家門……
老婆怒道:“你怎么就買了一個(gè)包子?!”
老公答曰:“因?yàn)榭吹搅速u西瓜的?!?/span>
2.如果明天下雨,就呆在家里
3. 如果看到西瓜,并且1塊錢一斤,就買一個(gè)
4. 如果天氣好,我兜里還有1000塊錢,我就出去嗨
5. 老師長(zhǎng)得帥,或者老師教的好,我就好好學(xué)習(xí),天天向上
6. 兜里有1000塊錢 或者 室友請(qǐng)我, 我就出去吃大餐
7. 如果明天不上課,我就去看電影
8. 如果明天不上課,并且兜里有10000或者朋友請(qǐng)我,我就出去玩。
9. 老師帥 或者 我今天高興并且我已經(jīng)吃飽了飯,我就學(xué)習(xí)
總結(jié):計(jì)算機(jī)之所以能做很多自動(dòng)化的任務(wù),因?yàn)樗梢宰约鹤鰲l件判斷,以上問題都可通過計(jì)算機(jī)來解決。
Python條件語句是通過一條或多條語句的執(zhí)行結(jié)果(True或者False)來決定執(zhí)行的代碼塊。
可以通過下圖來簡(jiǎn)單了解條件語句的執(zhí)行過程:
Python程序語言指定任何非0和非空(null)值為true,0 或者 null為false。
Python 編程中 if 語句用于控制程序的執(zhí)行,基本形式為:
1 2 3 4 | if 判斷條件: 執(zhí)行語句…… else : 執(zhí)行語句…… |
其中"判斷條件"成立時(shí)(為真),則執(zhí)行后面的語句,而執(zhí)行內(nèi)容可以多行,以縮進(jìn)來區(qū)分表示同一范圍。
else 為可選語句,當(dāng)需要在條件不成立時(shí)執(zhí)行內(nèi)容則可以執(zhí)行相關(guān)語句,具體例子如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 | # -*- coding: UTF-8 -*- # 例1:if 基本用法 flag = False name = raw_input() if name == 'python' : # 判斷變量否為'python' flag = True # 條件成立時(shí)設(shè)置標(biāo)志為真 print 'welcome boss' # 并輸出歡迎信息 else : print name # 條件不成立時(shí)輸出變量名稱 輸出結(jié)果為: >>> luren # 輸出結(jié)果 |
if 語句的判斷條件可以用>(大于)、<(小于)、==(等于)、>=(大于等于)、<=(小于等于)來表示其關(guān)系。
當(dāng)判斷條件為多個(gè)值時(shí),可以使用以下形式:
1 2 3 4 5 6 7 8 | if 判斷條件1: 執(zhí)行語句1…… elif 判斷條件2: 執(zhí)行語句2…… elif 判斷條件3: 執(zhí)行語句3…… else : 執(zhí)行語句4…… |
實(shí)例如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | # -*- coding: UTF-8 -*- # 例2:elif用法 num = 5 if num == 3: # 判斷num的值 print 'boss' elif num == 2: print 'user' elif num == 1: print 'worker' elif num < 0: # 值小于零時(shí)輸出 print 'error' else : print 'passer' # 條件均不成立時(shí)輸出 輸出結(jié)果為: >>> roadman # 輸出結(jié)果 |
根據(jù)年齡判斷是否成年:
1 2 3 4 5 6 7 | age = 3 if age >= 18: print 'your age is' , age print 'adult' else : print 'your age is' , age print 'teenager' |
如果判斷需要多個(gè)條件需同時(shí)判斷時(shí),可以使用 or (或),表示兩個(gè)條件有一個(gè)成立時(shí)判斷條件成功;使用 and (與)時(shí),表示只有兩個(gè)條件同時(shí)成立的情況下,判斷條件才成功。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #!/usr/bin/python # -*- coding: UTF-8 -*- # 例3:if語句多個(gè)條件 num = raw_input() num = int(num) if num >= 0 and num <= 10: # 判斷值是否在0~10之間 print 'hello' >>> hello # 輸出結(jié)果 num = raw_input() if num < 0 or num > 10: # 判斷值是否在小于0或大于10 print 'hello' else : print 'undefine' >>> undefine # 輸出結(jié)果 |
1 2 3 4 5 6 7 | num = 8 # 判斷值是否在0~5或者10~15之間 if (num >= 0 and num <= 5) or (num >= 10 and num <= 15): print 'hello' else : print 'undefine' >>> undefine # 輸出結(jié)果 |
當(dāng)if有多個(gè)條件時(shí)可使用括號(hào)來區(qū)分判斷的先后順序,括號(hào)中的判斷優(yōu)先執(zhí)行,此外 and 和 or 的優(yōu)先級(jí)低于>(大于)、<(小于)等判斷符號(hào),即大于和小于在沒有括號(hào)的情況下會(huì)比與或要優(yōu)先判斷。
你也可以在同一行的位置上使用if條件判斷語句,如下實(shí)例:
1 2 3 4 5 6 7 8 9 10 | # -*- coding: UTF-8 -*- var = 100 if ( var == 100 ) : print "變量 var 的值為100" print "Good bye!" 以上代碼執(zhí)行輸出結(jié)果如下: 變量 var 的值為100 Good bye! |
if語句嵌套例子:
根據(jù)工資決定輸出內(nèi)容:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | #coding:utf8 salary = raw_input ( '輸入你的工資' ) salary = float(salary) rate = 0.2 if salary >= 10000: poket_money = salary * rate if poket_money >= 5000: print '兜里剩%d' % poket_money print '活挺好' elif poket_money >= 4000: print '兜里剩%d' % poket_money print '有零花錢' elif poket_money >= 3000: print '兜里剩%d' % poket_money print '有肉吃' elif poket_money >= 2000: print '兜里剩%d' % poket_money print '有飯吃' else : print '兜里剩%d' % poket_money print '活不了了' else : print '繼續(xù)努力吧' |
了解三元表達(dá)式
Expression1 if boolean_expression else Expression2
如果滿足條件A大于B,則max值為A,反之max為B
如:max=A if A>B else B
例如:
開場(chǎng)問題的具體代碼實(shí)現(xiàn):
1.買包子問題:
2. 如果明天下雨,就呆在家里
3.看到西瓜并且一塊錢一斤就買一個(gè)
4. 如果天氣好,我兜里還有1000塊錢,我就出去嗨
5. 老師長(zhǎng)得帥,或者老師教的好,我就好好學(xué)習(xí),天天向上
其它問題請(qǐng)同學(xué)們課后自行完成。
擴(kuò)展猜數(shù)字實(shí)例:
本文出自 “一盞燭光” 博客,謝絕轉(zhuǎn)載!
更多建議: