計算機程序在解決某個具體問題時,包括三種情形,即順序執行所有的語句、選擇執行部分的語句和循環執行部分語句,這正好對應着程序設計中的三種程序執行結構流程:順序結構、選擇結構和循環結構。
事實證明,任何一個能用計算機解決的問題,只要應用這三種基本結構來寫出的程序都能解決。Python語言當然也具有這三種基本結構。
一、選擇結構(if語句)
1、if語句的結構:
if <條件1>:
<語句1>
elif <條件2>:
<語句2>
else:
<語句3>
此時,條件1成立時執行語句1,;條件2成立時執行語句2;條件1和條件2都不成立時執行語句3。
實例:
x = int(input("請輸入您的總分:")) if x >= 90: print('優') elif x>=80: print('良') elif x >= 70: print('中') elif x >= 60: print('合格') else: print('不合格')
需要注意的是:在使用多個elif語句的分支結構時,應把握好多個條件語句之間的關系。只要有一個條件成立,就會將其后的語句執行,執行后退出整個if語句。
實例:
x = int(input("請輸入您的總分:")) if x >= 90: print('優') elif x>=80: print('良') elif x >= 60: print('合格') elif x >= 70: print('中') else: print('不合格')
此時程序中的print('中')語句永遠不會執行,因為當輸入[70,80)這個區間的數時先判斷x>=60成立,則執行其后的語句並輸出合格,之后退出if語句。
2、三元運算符
if語句可以使用在一個單語句中,實現三元運算符,基本形式:<表達式1> if <條件> else <表達式2>
3、if語句的嵌套
if<條件>:
if<條件>:
<語句1>
elif<條件>:
<語句2>:
else:
<語句3>
編寫條件語句時,應該盡量避免使用嵌套語句。嵌套語句不便於閱讀,而且可能會忽略一些可能性。
二、for循環語句
1、for語句的結構:
Python語言中的for語句與其他高級程序設計語言有很大的不同,其他高級語言for語句要用循環控制變量來控制循環。Python中for語句是通過循環遍歷某一序列對象(字符串、列表、元組等)來構建循環,循環結束的條件就是對象被遍歷完成。
for語句的形式如下:
for <循環變量> in <循環對象>:
<語句1>
else:
<語句2>
else語句中的語句2只有循環正常退出(遍歷完所有遍歷對象中的值)時執行。
實例:
for num in range(10,20): for i in range(2,num): if num % i == 0: j = num/i print("%d等於%d*%d" % (num,i,j)) break else: print("%d是一個質數" % num)
2、range()函數
for語句的循環對象可以是列表、元組以及字符串,可以通過range()函數產生一個迭代值,以完成計數循環。
range( [start,] stop [, step])
實例:
>>> for i in range(5): print(i) 0 1 2 3 4 >>> for i in range(0,10,3): print(i) 0 3 6 9
for語句使用range()函數可以構建基於已知循環次數的循環程序,也可以以range()生成的數字作為索引來訪問列表、元組、字符串中的值。
需要注意的是,
range() 函數返回的對象表現為它是一個列表,但事實上它並不是,range()函數並不是在調用時一次生成整個序列,而是遍歷一次才產生一個值,以減少內存的占用,其本質是一個迭代器。
如:
>>> range(10) range(0, 10) >>> type(range(10)) <class 'range'> >>> list(range(10)) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
三、while循環語句
for語句以遍歷對象的方式構造循環,有時卻需要構造一種類似無限循環的程序控制結構或某種不確定運行次數的循環,就需要使用while語句
1、while語句結構:
while語句的基本形式如下:
while<條件>:
<語句1>
else:
<語句2>
與for循環不同的是,while語句只有在測試條件為假時才會停止。
實例:
count = 0 while count < 5: print(count, " is less than 5") count = count + 1 else: print(count, " is not less than 5")
四、break語句、continue語句、pass語句
break語句用在while和for循環中,break語句用來終止循環語句,即循環條件沒有False條件或者序列還沒被完全遞歸完,也會停止執行循環語句。
continue語句用在while和for循環中,continue 語句用來告訴Python跳過當前循環的剩余語句,然后繼續進行下一輪循環。 continue 語句跳出本次循環,而break跳出整個循環。
Python pass是空語句,是為了保持程序結構的完整性。pass 不做任何事情,一般用做占位語句。
實例:
for i in range(10): if i%2 == 0: continue print(i) if i>=7: break else: print("循環結束") 1 3 5 7
