Python基礎 迴圈

2021-09-19 09:58:25 字數 2074 閱讀 7081

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(rang(5))

[0,1,2,3,4]

第二種迴圈是while迴圈,只要條件滿足,就不斷迴圈,條件不滿足時退出迴圈。比如我們要計算100以內所有奇數之和,可以用while迴圈實現:

sum=0

n=99

while n>0:

sum=sum+n

n=n-2

print(sum)

在迴圈內部變數n不斷自減,直到變為-1時,不再滿足while條件,迴圈退出。

break

在迴圈中,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

在迴圈過程中,也可以通過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

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基礎 迴圈

要計算1 2 3,我們可以直接寫表示式 1 2 3 6要計算1 2 3 10,勉強也能寫出來。但是,要計算1 2 3 10000,直接寫表示式就不可能了。為了讓計算機能計算成千上萬次的重複運算,我們就需要迴圈語句。python的迴圈有兩種,一種是for.in迴圈,依次把list或tuple中的每個元...

python基礎 迴圈

for迴圈 a 11,22,33,44 for i in a print i 結果 11 2233 44while迴圈 i 0 while i 3 i 3為迴圈條件,當條件為真時,執行後面的迴圈體 條件為假時不執行 print i i 1結果 0 12break和continue i 0 while...

Python基礎 迴圈

目錄迴圈 練習break continue 小結 要計算1 2 3,我們可以直接寫表示式 1 2 3 6要計算1 2 3 10,勉強也能寫出來。但是,要計算1 2 3 10000,直接寫表示式就不可能了。為了讓計算機能計算成千上萬次的重複運算,我們就需要迴圈語句。python的迴圈有兩種,一種是fo...