Python之 for循環\while循環


list或tuple可以表示一個有序集合。如果我們想依次訪問一個list中的每一個元素呢?比如 list:

L = ['Adam', 'Lisa', 'Bart']
print L[0]
print L[1]
print L[2]

如果list只包含幾個元素,這樣寫還行,如果list包含1萬個元素,我們就不可能寫1萬行print。

這時,循環就派上用場了。

Python的 for 循環就可以依次把list或tuple的每個元素迭代出來:

L = ['Adam', 'Lisa', 'Bart']
for name in L: print name

注意:  name 這個變量是在 for 循環中定義的,意思是,依次取出list中的每一個元素,並把元素賦值給 name,然后執行for循環體(就是縮進的代碼塊)。

這樣一來,遍歷一個list或tuple就非常容易了。

班里考試后,老師要統計平均成績,已知4位同學的成績用list表示如下:

L = [75, 92, 59, 68]

請利用for循環計算出平均成績。參考下面代碼:

L = [75, 92, 59, 68]
sum = 0.0
for x in L:
    sum=sum+x
print sum / 4

 

 

Python之 while循環

和 for 循環不同的另一種循環是 while 循環,while 循環不會迭代 list 或 tuple 的元素,而是根據表達式判斷循環是否結束。

比如要從 0 開始打印不大於 N 的整數:

N = 10
x = 0
while x < N: print x x = x + 1

while循環每次先判斷 x < N,如果為True,則執行循環體的代碼塊,否則,退出循環。

在循環體內,x = x + 1 會讓 x 不斷增加,最終因為 x < N 不成立而退出循環。

如果沒有這一個語句,while循環在判斷 x < N 時總是為True,就會無限循環下去,變成死循環,所以要特別留意while循環的退出條件。

任務

利用while循環計算100以內奇數的和.參考代碼:

sum = 0
x = 1
while x<100:
    sum=sum+x
    x=x+2
print sum
或者
sum = 0
x = 1
while (x%2==1) or (x<=100):
    sum+=x
    x+=1
print sum

用 for 循環或者 while 循環時,如果要在循環體內直接退出循環,可以使用 break 語句。比如計算1至100的整數和,我們用while來實現:
sum = 0
x = 1
while True:
    sum = sum + x
    x = x + 1
    if x > 100:
        break print sum

咋一看, while True 就是一個死循環,但是在循環體內,我們還判斷了 x > 100 條件成立時,用break語句退出循環,這樣也可以實現循環的結束。

 
          

任務

 
          

利用 while True 無限循環配合 break 語句,計算 1 + 2 + 4 + 8 + 16 + ... 的前20項的和。

sum = 0
x = 1
n = 1
while True:
    if n>20:
        break
    sum=sum+x
    x=x*2
    n=n+1
print sum

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM