Python條件判斷

2018-06-08 17:14 更新


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)先判斷

簡(jiǎn)單的語句

你也可以在同一行的位置上使用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)載!

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)