Python Python流程控制

2022-06-14 21:06:10 字數 3508 閱讀 6546

1)if條件測試

python的比較操作

所有的python物件都支援比較操作

測試操作符('=='操作符測試值的相等性; 'is'表示式測試物件的一致性)

python中不同型別的比較方法

數字:通過相對大小進行比較

字串:按照字典次序逐字元進行比較

列表和元組:自左至右比較各部分內容

字典:對排序之後的(鍵、值)列表進行比較

python中的真假:

1、任何非0數字和非空物件都為真;

2、數字0、空物件和特殊物件none均為假;

3、比較和相等測試會遞迴地應用於資料結構中;

4、返回值為true或false;

組合條件測試:

x and y: 與運算

x or y: 或運算

not x: 非運算

注意: and或or運算會返回真或假的物件,而不是true或者false

and和or是短路操作符

例: >>>a = true

>>>print a and 'a = t' or 'a = f'

'a=t' 會返回『a = t』,若不理解自行補充布林運算

if測試的語法控制結構

if boolean_expression1:

suite1

elif boolean_expression2:

suite2

...else:

else_suite

注意:elif、else語句均是可選的

僅用於佔位,而後填充相關語句時,可以使用pass

if/else三元表示式

if x :

a = y

else :

a = z

可以改寫成 a = y if x else z

語法格式:

expression1 if boolean_expression else expression2

(如果boolean_expression的值為true,則條件表示式的結果為expression1,否則為expression2)

2)while迴圈

用於編寫通用迭代結構

頂端測試為真即會執行迴圈體,並重複多次直到為假後執行迴圈後的其他語句

語法格式:

while bool_expression:

while_suite

else:

else_suite

注意:else分支為可選部分

只要boolean_expression的結果為true,迴圈就會執行

boolean_expression的結果為false時終止迴圈,如果有else分支,則會執行

break: 跳出最內層的迴圈;

continue: 跳到所處的最近層迴圈的開始處;

pass: 佔位語句

else**塊:迴圈正常終止才會執行;如果迴圈終止是由break跳出導致的,則else不會執行;

while迴圈語法格式擴充套件

while bool_expression1:

while_suite

if boolean_expression2:

break

if boolean_expression3:

continue

else:

else_suite

例: 使用鍵盤輸入資料到列表內,直到輸入q或quit時停止

>>>test = [ ]

>>>while true:

x = raw_input('enter an entry: ')

if x == 'q' or x == 'quit':

break

else:

3)for迴圈

用於遍歷任何有序的序列物件內的元素

可用於字串、元組、列表和其它的內建可迭代物件,以及通過類所建立的新物件

語法格式:

for expression1 in iterable:

for_suite

else:

else_suite

注意: expression或是乙個單獨的變數,或是乙個變數序列,一般以元組的形式給出

例:>>> t = [(1,2),(3,4),(5,6),(7,8)]

>>> for (a,b) in t:

print a,b

1 23 4

5 67 8

for迴圈形式擴充套件

語法格式:

for expression in iterable:

for_suite

if boolean_expression2:

break

if boolean_expression3:

continue

else:

else_suite

for迴圈比while迴圈執行速度快

python中提供了兩個內建函式,用於在for迴圈中定製特殊的迴圈(range或xrange 與zip)

4)range函式與zip

range:一次性地返回連續的整數列表

xrange:一次產生乙個資料元素,相較於range更節約空間

zip:返回並行的元素元組的列表,常用於在for迴圈中遍歷數個序列

range函式:

非完備遍歷(用於每隔一定的個數元素挑選乙個元素)

>>> range(0,10,2)

[0,2,4,6,8,10]

>>> s = 'how are you ?'

>>> for i in range(0,len(s),2):

print s[i]

h w a e y u ?

修改列表

>>> l = [1,2,3,4,5]

>>> for i in range(len(l)):

l[i]+=1

>>> print l

[2,3,4,5,6]

zip實現並行迭代

例1:>>> l1 = [ 1,2,3,4,5 ]

>>> l2 = ['a','b','c','d','e']

>>> zip(l1,l2)

[(1,'a'),(2,'b'),(3,'c'),(4,'d'),(5,'e')]

動態構造字典

例2: 已有 keys = [ 'x','y','z'] values = [1,2,3] 使用迴圈生成字典使其一一對應

>>> dict1 = {}

>>> keys = [ 'x','y','z']

>>> values = [1,2,3]

>>> for (k,v) in zip(keys,values):

dict1[k] = v

>>> print dict1

python流程控制 python之流程控制

電腦程式在解決某個具體問題時,包括三種情形,即順序執行所有的語句 選擇執行部分的語句和迴圈執行部分語句,這正好對應著程式設計中的三種程式執行結構流程 順序結構 選擇結構和迴圈結構。事實證明,任何乙個能用計算機解決的問題,只要應用這三種基本結構來寫出的程式都能解決。python語言當然也具有這三種基本...

mysql流程控制 MySQL 流程控制

流程控制 1 順序結構 程式從上往下依次執行 2 分支結構 多條路徑選擇一條 3 迴圈結構 在規定範圍內重複執行 一 分支結構 1 if函式 功能 實現分支流 語法 if 表示式1,表示式2,表示式3 執行順序 執行表示式1,成立返回表示式2的值,不成立則返回表示式3的值 應用 任何地方 例 if ...

Python程式控制流程

從左向右,從上到下執行。1 單分支 age int input 請輸出您的年齡 if age 18 print 你可以上網了 輸出結果 單分支僅能處理一種條件 注意 1 四個空格不等於乙個tab 2 python通過縮排判斷語句之間的層次關係 2 雙分支 請輸出您的年齡 if age 18 prin...