python基礎 表達式與選擇結構

1.選擇結構程序的定義:根據條件表達式的值是True/非零還是False/零做出決策,控制代碼塊的執行。
一、表達式與表達式的值
典型的表達式一般由運算符和操作數/操作對象組成。
運算符:對操作數/操作對象進行運算處理的符號。
操作數/操作對象:運算符處理的數據。
在條件表達式中常用的運算符如下:
(1)算術運算符:+ - * / // % ** ~
(2)關係運算符:> < == != <> <= >=
(3)測試運算符:in,not in, is, not is
(4)邏輯運算符:and, or, not
1.算數表達式及值
算數表達式的運算結果爲數值型,可將非零值看作True,零值看作False,即也可以看作布爾運算的結果。
2.關係表達式及值
(1)用兩個等號比較兩個操作數是否相等,結果將得出True或者是False

>>>3==3
True
>>>3==4
False

(2)進行比較的兩個對象可以是數值、字符串、列表、字典等。

>>>"abc"=="abc"
True
>>>a=[1,2,3]
>>>b=[1,2,3]
>>>a==b
True

(3)用!=表示不等號

>>>3==3
True
>>>3!=3
False
>>>3!=4
True

3.測試表達式
(1)成員測試
成員測試使用雲字符in和not in,在表達式中返回邏輯值。

>>>a=[1,2,3]
>>>1 in a
True
>>>5 in a
False
>>>5 not in a
True
>>>s="abcde"
>>>"a" in s
True
>>>"ab" in s
True
>>>"ac" in s
False

(2)同一性測試
同一性測試使用運算符is和 not is,在表達式中返回邏輯值。

>>>a=[1,2,3]
>>>b=a
>>>a==b
True                #a,b引用相同對象,所以相同。
>>>b=[1,2,3]
>>>a==b
True
>>>a is b             #a,b引用不同對象,雖然相等,但並不相同。
False

4.邏輯表達式及值
(1)and(和)
表示and左側的運算、值或者對象爲true/非零值,接着對右側表達式求值的到最後結果。如果左側爲false/零值,則最終結果爲false,並停止對右側表達式的運算。
(2)or(或)
表示對左側表達式求值,如果結果爲false/零值,繼續對右側表達式求值,得最後結果。如果左邊表達式爲true/非零值,則最終結果爲true,並停止運算右側表達式。
(3)not(非)
在需要對表達式求相反條件時,用not運算符,關係表達式的值爲布爾型。

二、複合表達式
1.複合表達式
當做一個判斷需考慮兩個或兩個以上的條件/因素時,此時需要對條件進行合理的邏輯組合運算。
2.複合表達式的混合運算
在進行混合運算時,需要按照運算符的優先級順序進行運算。

這裏寫圖片描述

三、選擇結構
1.單分支語句
格式:
if 表達式:
語句塊
這裏寫圖片描述

例如:比較兩個數大小,按從小到大的順序輸出

a=3
b=5
if a>b:
	a,b=b,a
print ("從小到大輸出:")
print a,b

運行結果:
從小到大輸出:3 5

PS: 1.分支結構中的表達式一般是邏輯表達式,也可以爲任何合法的表達式。
2.分支結構中執行的語句可以是一條語句,也可以是多條語句組合而成的複合語句,或者稱語句塊。在python中用縮進結構來表示,具有相同的連續的縮進量的語句構成複合語句。

例 從鍵盤輸入圓的半徑,如果半徑大於等於0,則計算圓面積。

import math
r=input("請輸入圓的半徑:")
if r>=0:
	s=r*r*math.pi
	print "s=pi*r*r=",s						

輸出結果:
請輸入圓的半徑:4
s=pirr=50.26548245743669
請輸入圓的半徑:-2

2.雙分支語句
格式:
if 表達式:
語句塊1
else :
語句塊2

這裏寫圖片描述

例:從鍵盤上輸入一個整數,如果是偶數則輸出”偶數“,如果是奇數則輸出”奇 數“。

x=input('請輸入一個整數:')
if x%2==0:
	print ('偶數');
else :
	print ('奇數')

運行結果:
請輸入一個整數:2
偶數

3.多分支語句
格式:
if 表達式1:
語句1
elif 表達式2:
語句2

else :
語句n

例:由計算機對學生的成績進行分級(補考,及格,中,良,優),其劃分標準爲:小於60分爲補考;6070分爲及格;7080分爲良;8090分爲中;90100分爲優。最終輸出等級信息。

score=input('請輸入你的成績:')
if score<0 or score>100:
	print 'error'
elif score<60:
	print '補考'
elif score<70:
	print '及格'
elif score<80:
	print '良'
elif score<90:
	print '中'
else :
	print '優'

運行結果:
請輸入你的成績:-1
error
請輸入你的成績:95

4.選擇結構的嵌套
格式:
if 表達式1:
#語句塊1

if 表達式11:
語句塊11…
else :
語句塊12…

else :
語句塊2

例:購買地鐵車票的規定如下:乘14站,3元/位;乘59站,4元/位;乘9站以上,5元/位。輸入人數、站數,輸出應付款。

m,n=input('請輸入站數、人數:')
if m<=4:
	pay=3*n
else :
	if m<=9:
		pay=4*n
	else :
		pay=5*n
print '應付款:',pay

輸出結果:
請輸入站數、人數:5,3
應付款:20

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章