Python基礎06 迴圈

2021-08-07 03:30:45 字數 2961 閱讀 6331

**:

迴圈結構可以幫助我們優雅的完成重複性勞動,不必為了一些規律性的重複工作耗費過多的精力。

如果我們想要計算0~100之和,我們只需要簡單的使用迴圈結構寫幾行**即可求出結果,不需要寫100行加法命令。

python中的迴圈可以分為for迴圈和while迴圈兩種,我們先來看一下for迴圈的用法。

sum = 0

for i in range(1, 100 + 1):

sum += i

print(sum)

輸出為

5050
上面的4行**完成了從0~100的求和運算。

第3行使用了for迴圈結構,格式為 for 元素 in 集合 :。在這裡,我們使用了range函式,這個函式返回了正整數1~100的集合。

range的使用方法如下:

print(range(10))           # 返回,即0~9的整數集合

print(range(3, 10)) # 返回,即3~9的整數集合

print(range(3, 10, 2)) # 返回,即從3開始,間隔為2,並且小於10的整數集合

在第1次迴圈開始時,i取值為range集合的第1個元素並進入迴圈體,在第4行中對變數sum進行加賦值操作,之後**回到第3行,i取值為range集合的第2個元素。以此類推,直到取完range集合的最後乙個元素,**跳出迴圈,執行迴圈體外第6行的輸出操作。

for迴圈執行的次數與集合元素數量保持一致。

和for迴圈的方式不同,while迴圈是通過條件來控制迴圈的。

i = 1

sum = 0

while i <= 100:

sum += i

i += 1

print(sum)

上面的**同樣完成了從0~100的求和運算。

while迴圈的語法結構為 while 條件 : ,條件為true時進入迴圈體,直到條件為false時跳出迴圈。

這裡我們注意到,使用while進行累加操作時,我們除了需要定義用來儲存結果的變數sum外,我們還需要定義乙個游標變數i,並且在迴圈體中對i進行加賦值操作,如果刪除第5行**,程式將進入死迴圈。死迴圈會無休止的執行下去,耗費大量的系統效能。因此當我們使用while迴圈時,一定要注意死迴圈問題。

break可以跳出當前正在進行的迴圈。

例如:我們要從乙個列表([6, 9, 4, 3, 7, 11])中找到第乙個小於5的數字,並返回這個數字在列表中的位置。

上面的例子要求我們返回列表中第乙個小於5的元素的位置。通過觀察我們發現,小於5的元素出現在列表中的第3位,列表的元素一共6個,如果全部迴圈完畢需要進行6輪迴圈。假如我們的列表元素個數為10000條,那麼我們需要迴圈10000次,但是在第3次迴圈時我們就已經得到結果了,之後的迴圈沒有任何意義。在這種情況下,我們可以使用break來跳出迴圈。

# for迴圈寫法

list = [6, 9, 4, 3, 7, 11]

index = 1 # 小於5的數字所在的位置

for num in list :

if num < 5 :

break

else :

index += 1

if index > len(list) :

print('列表中沒有小於5的數字')

else :

print('列表中第乙個小於5的數字在第%d位' % index)

# while迴圈寫法

list = [6, 9, 4, 3, 7, 11]

index = 1 # 小於5的數字所在的位置

while index <= len(list) :

num = list[index - 1]

if num < 5 :

break

else :

index += 1

if index > len(list) :

print('列表中沒有小於5的數字')

else :

print('列表中第乙個小於5的數字在第%d位' % index)

在這裡我們使用了python提供的len函式,len函式需要乙個集合作為輸入引數,返回集合中元素的數量。

結果均為

列表中第乙個小於5的數字在第3位
continue可以忽略迴圈體中在其之後的**,直接進入下一輪迴圈。

例如:我們要從乙個列表([6, 9, 4, 3, 7, 11])中找到所有小於5的數字,並返回這些數字之和。

# for迴圈寫法

list = [6, 9, 4, 3, 7, 11]

sum = 0 # 小於5的數字之和

for num in list :

if num >= 5 :

continue

sum += num

print('陣列中小於5的數字之和為%d' % sum)

# while迴圈寫法

list = [6, 9, 4, 3, 7, 11]

index = 0

sum = 0 # 小於5的數字之和

while index < len(list) :

num = list[index]

index += 1

if num >= 5 :

continue

sum += num

print('陣列中小於5的數字之和為%d' % sum)

輸出為

陣列中小於5的數字之和為7
今天我們學習了for迴圈和while迴圈。

掌握了break和continue的使用場景。

Python基礎06 迴圈

迴圈用於重複執行一些程式塊。從上一講的選擇結構,我們已經看到了如何用縮進來表示程式塊的隸屬關係。迴圈也會用到類似的寫法。for迴圈需要預先設定好迴圈的次數 n 然後執行隸屬於for的語句n次。基本構造是 for 元素 in 序列 statement 舉例來說,我們編輯乙個叫fordemo.py的檔案...

Python基礎06 迴圈

迴圈用於重複執行一些程式塊。從上一講的選擇結構,我們已經看到了如何用縮進來表示程式塊的隸屬關係。迴圈也會用到類似的寫法。for迴圈 for迴圈需要預先設定好迴圈的次數 n 然後執行隸屬於for的語句n次。基本構造是 for 元素 in 序列 statement舉例來說,我們編輯乙個叫fordemo....

Python高階06 迴圈物件

通過上面一講,我們再次熟悉了python裡的迴圈控制。現在,我們將接觸迴圈物件 iterable object 這一講的主要目的是為了大家在讀python程式的時候對迴圈物件有乙個基本概念。迴圈物件的並不是隨著python的誕生就存在的,但它的發展迅速,特別是python 3x的時代,從zip 或者...