分支
單分支
if <條件>:
<語句塊>
二分支結構
if <條件>:
<語句塊1>
else:
<語句塊2>
多分支結構
if <條件1>:
<語句塊1>
elif <條件2>:
<語句塊2>
else:
<語句塊3>
程序異常處理
try:
<語句塊1>
except <異常類型>:
<語句塊2>
else:
<語句塊3>
finally:
<語句塊4>
Note1:先執行try後面的語句塊1,如果發生指定的異常,則執行語句塊2,最後執行語句塊4;若語句塊1沒有發生指定的異常,則執行語句塊3和語句塊4。
提出兩個非本小節的注意事項。
Note1: python 中對於多個變量同時賦值的方法是
input1,input2,…,inputn = para1,para2,…,paran
matlab中對多個變量賦值的方法是使用deal()函數
[input1,input2,…,inputn] = deal(para1,para2,…,paran)
Note2: C/C++中不允許出現a < b < c這種形式,要寫成b > a && b < c,但是在python中可以寫成a < b < c。
循環
遍歷循環for
for循環可以出現以下幾種情況:
- 計數循環(N次)
for i in range(N):
<語句塊>
- 字符串遍歷
for i in s: #其中s是一個字符串
<語句塊>
- 列表循環
for item in ls:
<語句塊>
- 文件遍歷
for line in fi:
<語句塊> #其中fi是文件標示符,對文件的每一行進行遍歷
綜上可以得出,for 語句的循環一般格式爲
for <循環變量> in <遍歷結構>:
<語句塊>
無限循環while
和C/C++中的一致。在此需要在重申一遍continue和break。其中continue是跳出當前一次的循環,執行下一次循環;而break是直接跳出循環。當多層循環嵌套時,break是跳出最裏層的循環,而不是所有的循環。
另外,需要注意一下循環else的用法:如果循環有沒被break掉,則執行一次else。否則不執行else。
random庫
這幾次講到的庫都是python內置的庫,不需要我們再單獨安裝。同樣random庫也是內置庫。該庫中主要有以下幾個方法:
- 基本隨機數函數:seed(),random()
- 擴展隨機數函數:randint() , getrandbits() , uniform() , randrange() , choice(), shuffle()
func | state |
---|---|
seed(a=None) | 初始化給定的隨機數種子,默認爲當前系統的時間 |
random() | 生成一個[0.0,1.0]之間的隨機小數 |
randint(a,b) | 生成一個[a,b]之間的隨機整數 |
randrange(m,n,[k]) | 生成一個[m,n)之間以k爲步長的隨機整數 |
getrandbits(k) | 生成一個k比特長的隨機整數 |
uniform(a,b) | 生成一個[a,b]之間的隨機小數 |
choice(seq) | 從序列seq中隨機選擇一個元素 |
shuffle(seq) | 將序列seq元素隨機排列,返回打亂後的序列 |