1. 程式人生 > 其它 >03--控制流程之if判斷與while、for迴圈

03--控制流程之if判斷與while、for迴圈

1.if判斷

# 語法:
    if 條件1:
        pass
    elif 條件2:
        pass
    ...
    else:
        pass

2.while迴圈 (又稱條件迴圈)

# 1.含義:就是重複做某件事

# 2.語法:
    while 條件:
        程式碼1
        程式碼2
        程式碼3
        
# 3.死迴圈與效率問題:
    純計算,無IO操作的死迴圈會導致致命的效率問題
    
# 4.退出迴圈的兩種方式:
    方式一:將條件改成False,等到下次迴圈判斷條件時,才會生效
    方式二:break,只要執行到break就會立刻終止本層迴圈
    
    注:選擇哪種,主要看終止那一層的迴圈中,後面的程式碼 還是否要執行。若要,就第一種;不要,就第二種。
        
    
# 5.while迴圈巢狀與結束
    1. break 只會終止本層的迴圈,所以不能滿足,最裡層退出後,外層全部退出
    2. 若想在最裡層中,一次退出後,迴圈全部退出,就用設定變數的方式,就全部的迴圈條件都改成這個變數,就滿足。
    
    
# 6.while + continue 結束本次迴圈 
    就是相當於本次迴圈中 continue 之後的程式碼 都不運行了,直接進入下一次。
    
    注:在continue 之後新增同級程式碼 毫無意義,因為永遠無法執行;
        continue 放在迴圈最後,也沒有意義

# 7.while + else
    else 包含的程式碼塊,會在while迴圈結束後,且while迴圈是在沒有被break打斷,才會執行
    
    注:簡單來說,就是while 被break 終止退出後,就不會執行else中程式碼。

3.for迴圈 (又稱迭代迴圈)

# 1.什麼是for迴圈
    迴圈就是重複做某事,for迴圈是python提供第二種迴圈機制
    
# 2.為何要有for迴圈
    理論上for迴圈能做的事情,while迴圈都可以做
    之所以要有for迴圈,是因為for迴圈在迴圈取值(遍歷取值)比while迴圈要更簡便

# 3.如何用for迴圈 (又稱迭代迴圈、遍歷迴圈)
    語法:
        for 變數名 in 可迭代物件:  # 可迭代物件可以是:列表、字典、字串、元祖、集合
            程式碼

# 4.總結for迴圈與while迴圈的異同
    1.相同之處:都是迴圈,for迴圈可以乾的事,while迴圈都可以幹
    2.不同之處:
        while迴圈稱之條件迴圈,迴圈次數取決於條件何時變假
        for迴圈稱之“取值迴圈”,迴圈次數取決於in後 包含值的個數

# 5.for迴圈控制迴圈次數:
    range(0, 10, 2)
    --->python2 返回的是一個包含整數的列表
    --->python3 是一個range 物件(生成器),對比python2 優化了記憶體空間,需要生成整數,臨時生成

# 6.for + break 與 for + else 與 for + continue  同while一樣

# 7.for迴圈巢狀
    同while 迴圈一樣。  
    
    注:for迴圈退出, 只有 break一種
    
    
# 8.for+enumerate 列舉  索引和值

nums = [111, 222, 333, 444, 555]

 i = 0
 while i < len(nums):
     print(i,nums[i])
     i += 1

for i,num in enumerate(nums):
    print(i,num)