要計算1+2+3,我們可以直接寫表示式:
>>
>1+
2+36
要計算1+2+3+…+10,勉強也能寫出來。
但是,要計算1+2+3+…+10000,直接寫表示式就不可能了。
為了讓計算機能計算成千上萬次的重複運算,我們就需要迴圈語句。
python的迴圈有兩種,一種是for…in迴圈,依次把list或tuple中的每個元素迭代出來,看例子:
names =
['michael'
,'bob'
,'tracy'
]for name in names:
print
(name)
執行這段**,會依次列印names的每乙個元素:
michael
bobtracy
所以for x in …迴圈就是把每個元素代入變數x,然後執行縮排塊的語句。
再比如我們想計算1-10的整數之和,可以用乙個sum變數做累加:
sum=0
for x in[1
,2,3
,4,5
,6,7
,8,9
,10]:
sum=
sum+ x
print
(sum
)
如果要計算1-100的整數之和,從1寫到100有點困難,幸好python提供乙個range()函式,可以生成乙個整數序列,再通過list()函式可以轉換為list。比如range(5)生成的序列是從0開始小於5的整數:
>>
>
list
(range(5
))[0
,1,2
,3,4
]
第二種迴圈是while迴圈,只要條件滿足,就不斷迴圈,條件不滿足時退出迴圈。比如我們要計算100以內所有奇數之和,可以用while迴圈實現:
sum=0
n =99
while n >0:
sum=
sum+ n
n = n -
2print
(sum
)
在迴圈內部變數n不斷自減,直到變為-1時,不再滿足while條件,迴圈退出。
break
在迴圈中,break語句可以提前退出迴圈。例如,本來要迴圈列印1~100的數字:
n =
1while n <=
100:
print
(n) n = n +
1print
('end'
)
上面的**可以列印出1~100。
如果要提前結束迴圈,可以用break語句:
n =
1while n <=
100:
if n >10:
# 當n = 11時,條件滿足,執行break語句
break
# break語句會結束當前迴圈
print
(n) n = n +
1print
('end'
)
執行上面的**可以看到,列印出1~10後,緊接著列印end,程式結束。
可見break的作用是提前結束迴圈。
continue
在迴圈過程中,也可以通過continue語句,跳過當前的這次迴圈,直接開始下一次迴圈。
n =
0while n <10:
n = n +
1print
(n)
上面的程式可以列印出1~10。但是,如果我們想只列印奇數,可以用continue語句跳過某些迴圈:
n =
0while n <10:
n = n +
1if n %2==
0:# 如果n是偶數,執行continue語句
continue
# continue語句會直接繼續下一輪迴圈,後續的print()語句不會執行
print
(n)
執行上面的**可以看到,列印的不再是1~10,而是1,3,5,7,9。
可見continue的作用是提前結束本輪迴圈,並直接開始下一輪迴圈。
注:要特別注意,不要濫用break和continue語句。break和continue會造成**執行邏輯分叉過多,容易出錯。大多數迴圈並不需要用到break和continue語句,上面的兩個例子,都可以通過改寫迴圈條件或者修改迴圈邏輯,去掉break和continue語句。
有些時候,如果**寫得有問題,會讓程式陷入「死迴圈」,也就是永遠迴圈下去。這時可以用ctrl+c退出程式,或者強制結束python程序。
Python學習筆記(六)
函式 呼叫python內建的函式,可以通過 help fun 進行查詢。舉例 abs x 求x絕對值 cmp x,y 比較兩個數大小,如果 xy,返回 1。int x 把其他資料型別轉換為整數,包括字串型別。str 把其他型別轉換成 str。編寫函式 def my abs x if x 0 retu...
Python學習筆記(六)
函式練習題 1 寫函式,檢查傳入字典的每乙個value的長度,如果大於2,那麼僅保留前兩個長度的內容,並將新內容返回給呼叫者。dic def dict func dic for key,value in dic.items if len value 2 value value 0 2 dic key...
Python學習筆記六
python課堂筆記六 常用模組已經可以在單位實際專案中使用,可以實現運維自動化。無需手工備份檔案,資料庫,拷貝,壓縮。常用模組 time模組 time.time time.localtime time.strftime os模組 主要針對作業系統的一些方法,如 切換目錄 sys模組 跟python...