要計算1+2+3,我們可以直接寫表示式:
>>>
1 + 2 + 3
6
要計算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]
range(101)
就可以生成0-100的整數序列,計算如下:
sum = 0
for x in range(101):
sum = sum + x
print(sum)
請自行執行上述**,看看結果是不是當年高斯同學心算出的5050。
第二種迴圈是while迴圈,只要條件滿足,就不斷迴圈,條件不滿足時退出迴圈。比如我們要計算100以內所有奇數之和,可以用while迴圈實現:
sum = 0
n = 99
while n > 0:
sum = sum + n
n = n - 2
print(sum)
在迴圈內部變數n
不斷自減,直到變為-1
時,不再滿足while條件,迴圈退出。
請利用迴圈依次對list中的每個名字列印出hello, ***!
:
在迴圈中,break
語句可以提前退出迴圈。例如,本來要迴圈列印1~100的數字:
n = 1
while n <=
100:
print(n)
n = n + 1
print('end')
上面的**可以列印出1~100。
如果要提前結束迴圈,可以用break
語句:
n = 1
while n <= 100:
if n > 10: # 當n = 11時,條件滿足,執行break語句
break
# break語句會結束當前迴圈
print(n)
n = n + 1
print('end')
執行上面的**可以看到,列印出1~10後,緊接著列印end
,程式結束。
可見break
的作用是提前結束迴圈。
在迴圈過程中,也可以通過continue
語句,跳過當前的這次迴圈,直接開始下一次迴圈。
n = 0
while n < 10:
n = n + 1
print(n)
上面的程式可以列印出1~10。但是,如果我們想只列印奇數,可以用continue
語句跳過某些迴圈:
n = 0
while n < 10:
n = n + 1
if n % 2 == 0: # 如果n是偶數,執行continue語句
continue
# continue語句會直接繼續下一輪迴圈,後續的print()語句不會執行
print(n)
執行上面的**可以看到,列印的不再是1~10,而是1,3,5,7,9。
可見continue
的作用是提前結束本輪迴圈,並直接開始下一輪迴圈。
迴圈是讓計算機做重複任務的有效的方法。
break
語句可以在迴圈過程中直接退出迴圈,而continue
語句可以提前結束本輪迴圈,並直接開始下一輪迴圈。這兩個語句通常都必須配合if
語句使用。
要特別注意,不要濫用break
和continue
語句。break
和continue
會造成**執行邏輯分叉過多,容易出錯。大多數迴圈並不需要用到break
和continue
語句,上面的兩個例子,都可以通過改寫迴圈條件或者修改迴圈邏輯,去掉break
和continue
語句。
有些時候,如果**寫得有問題,會讓程式陷入「死迴圈」,也就是永遠迴圈下去。這時可以用ctrl+c
退出程式,或者強制結束python程序。
請試寫乙個死迴圈程式。
Python基礎七 for迴圈和while迴圈
迴圈使計算機重複執行 可以大大提高了工作效率,減少 數量 為大家展示幾種常用的形式 對列表進行迴圈列印,會依次列印出列表中的值 number 6,7,8,9,10 for m in number print m 列印結果 1 2 3 4 5 對字典進行迴圈列印,會依次列印出鍵名 scores for...
七 迴圈語句
迴圈語句的基本工作方式 通過條件表示式判定是否執行迴圈體 條件表示式遵循if語句表示式的原則 do,while,for 的區別 do語句 先執行後判斷,迴圈體至少執行一次 while語句先判斷後執行,迴圈體可能不執行 for語句先判斷後執行,相比while更簡潔 do loop while cond...
python第七課 迴圈結構 while
while迴圈 2.1.有四要素組成 初始化條件 執行一次 乙個起始資料 起點,一般使用變數來進行儲存 迴圈條件 可能執行多次 迴圈合適結束全靠它,執行結果為true,那麼迴圈繼續,反之,迴圈就終止了 補充 需要和初始化條件配合 迭代條件 可能執行多次 用來改變初始化條件中的資料,只有變化了,才有終...