Python條件判斷
- 2020 年 1 月 14 日
- 筆記
Python 條件語句
需要考慮的問題:
1.老婆給當程式設計師的老公打電話:「下班順路買10個包子帶回來,如果看到賣西瓜的,就買1個。」 當晚,程式設計師老公手捧一個包子進了家門…… 老婆怒道:「你怎麼就買了一個包子?!」 老公答曰:「因為看到了賣西瓜的。」
2.如果明天下雨,就呆在家裡
3. 如果看到西瓜,並且1塊錢一斤,就買一個
4. 如果天氣好,我兜里還有1000塊錢,我就出去嗨
5. 老師長得帥,或者老師教的好,我就好好學習,天天向上
6. 兜里有1000塊錢 或者 室友請我, 我就出去吃大餐
7. 如果明天不上課,我就去看電影
8. 如果明天不上課,並且兜里有10000或者朋友請我,我就出去玩。
9. 老師帥 或者 我今天高興並且我已經吃飽了飯,我就學習
總結:電腦之所以能做很多自動化的任務,因為它可以自己做條件判斷,以上問題都可通過電腦來解決。
Python條件語句是通過一條或多條語句的執行結果(True或者False)來決定執行的程式碼塊。
可以通過下圖來簡單了解條件語句的執行過程:

Python程式語言指定任何非0和非空(null)值為true,0 或者 null為false。
Python 編程中 if 語句用於控制程式的執行,基本形式為:
if 判斷條件: 執行語句…… else: 執行語句……
其中"判斷條件"成立時(為真),則執行後面的語句,而執行內容可以多行,以縮進來區分表示同一範圍。
else 為可選語句,當需要在條件不成立時執行內容則可以執行相關語句,具體例子如下:
# -*- coding: UTF-8 -*- # 例1:if 基本用法 flag = False name = raw_input() if name == 'python': # 判斷變數否為'python' flag = True # 條件成立時設置標誌為真 print 'welcome boss' # 並輸出歡迎資訊 else: print name # 條件不成立時輸出變數名稱 輸出結果為: >>> luren # 輸出結果
if 語句的判斷條件可以用>(大於)、<(小於)、==(等於)、>=(大於等於)、<=(小於等於)來表示其關係。
當判斷條件為多個值時,可以使用以下形式:
if 判斷條件1: 執行語句1…… elif 判斷條件2: 執行語句2…… elif 判斷條件3: 執行語句3…… else: 執行語句4……
實例如下:
# -*- 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: # 值小於零時輸出 print 'error' else: print 'passer' # 條件均不成立時輸出 輸出結果為: >>> roadman # 輸出結果
根據年齡判斷是否成年:
age = 3 if age >= 18: print 'your age is', age print 'adult' else: print 'your age is', age print 'teenager'
如果判斷需要多個條件需同時判斷時,可以使用 or (或),表示兩個條件有一個成立時判斷條件成功;使用 and (與)時,表示只有兩個條件同時成立的情況下,判斷條件才成功。
#!/usr/bin/python # -*- coding: UTF-8 -*- # 例3:if語句多個條件 num = raw_input() num = int(num) if num >= 0 and num <= 10: # 判斷值是否在0~10之間 print 'hello' >>> hello # 輸出結果 num = raw_input() if num < 0 or num > 10: # 判斷值是否在小於0或大於10 print 'hello' else: print 'undefine' >>> undefine # 輸出結果
num = 8 # 判斷值是否在0~5或者10~15之間 if (num >= 0 and num <= 5) or (num >= 10 and num <= 15): print 'hello' else: print 'undefine' >>> undefine # 輸出結果
當if有多個條件時可使用括弧來區分判斷的先後順序,括弧中的判斷優先執行,此外 and 和 or 的優先順序低於>(大於)、<(小於)等判斷符號,即大於和小於在沒有括弧的情況下會比與或要優先判斷。
簡單的語句組
你也可以在同一行的位置上使用if條件判斷語句,如下實例:
# -*- coding: UTF-8 -*- var = 100 if ( var == 100 ) : print "變數 var 的值為100" print "Good bye!" 以上程式碼執行輸出結果如下: 變數 var 的值為100 Good bye!
if語句嵌套例子:
根據工資決定輸出內容:
#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 '繼續努力吧'
了解三元表達式
Expression1 if boolean_expression else Expression2
如果滿足條件A大於B,則max值為A,反之max為B
如:max=A if A>B else B
例如:

開場問題的具體程式碼實現:
1.買包子問題:

2. 如果明天下雨,就呆在家裡

3.看到西瓜並且一塊錢一斤就買一個

4. 如果天氣好,我兜里還有1000塊錢,我就出去嗨

5. 老師長得帥,或者老師教的好,我就好好學習,天天向上

其它問題請同學們課後自行完成。
擴展猜數字實例:
