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. 老師長得帥,或者老師教的好,我就好好學習,天天向上

其它問題請同學們課後自行完成。

擴展猜數字實例: