# Python -05 程式的控制

weixin_33935777發表於2018-05-31

分支結構

  • 單分支結構

        if <條件>:  # True
            <語句塊>
    
  • 二分支結構

        if <條件>:  # True
            <語句塊1>
        else :     # False
            <語句塊2>
            
        # 緊湊形式:適用於簡單表示式的二分支結構
        <表示式1> if <條件> else <表示式2>
        # 列如:
        guess = eval(input())
        print("猜{}了".format("對" if guess == 99 else "錯"))
    
  • 多分支結構

        if <條件>:  # True
            <語句塊1>
        elif :     # False
            <語句塊2>
            ......
        else :     # False
            <語句塊...>
    
  • 條件組合

    操作符及使用 描述
    x and y 兩個條件x 和 y 的邏輯與
    x or y 兩個條件x 和 y 的邏輯或
    not x 條件x 的邏輯非
  • 異常處理

        try :
            <語句塊1>
        except <異常型別標記>: # 異常
            <語句塊2>
            
       # 異常型別標記如: NameError 名字未定義
       
       # 異常處理的高階使用
        try :
            <語句塊1>
        except :
            <語句塊2>
        else :      # 在不發生異常時執行
            <語句塊3>
        finally :   # 一定執行
            <語句塊4>
    

迴圈結構

  • 遍歷迴圈

        for <迴圈變數> in <遍歷結構> :
            <語句塊
        
        # 遍歷結構: `range(N)` 從`0~(N-1)`
        #          `range(M, N, K)` 從`M`開始, `N-1`結束, `K`步長 
        
        for line in fi: # 迴圈檔案的每一行
        # fi 檔案識別符號
    
  • 無限迴圈

        while <條件> :
            <語句塊>
        # 反覆執行語句塊,直到條件不滿足時結束
    
  • 迴圈控制保留字

    • break 跳出並結束當前整個迴圈,執行迴圈後的語句,
    • continue 結束當次迴圈,繼續執行後續次數迴圈
  • 迴圈的擴充套件用法

    • 迴圈與else

        for <迴圈變數> in <遍歷結構> :
          <語句塊1>  
        else :    
          <語句塊2>
          
        while <條件> :
         <語句塊>
        else : 
         <語句塊2>
      
      # 當迴圈沒有被break語句退出時,執行else語句塊
      # esle 語句作為正常完成迴圈的獎勵
      

random庫

主要生成隨機數

基本隨機數函式: seed(), random()
擴充套件隨機數函式: randint(), getrandbits(), uniform(), randrange(), choice(), shuffle()

函式 描述
seed(a=None) 初始化給定的隨機數種子,預設為當前系統時間: random.seed(10) # 產生種子10 對應的序列
random() 生成一個[0.0, 1.0)之間的隨機小數:random.seed(10); random() 必定產生0.5714025946899135
randint(a,b) 生成一個[a, b]之間的整數
randrange(m, n[, k] 生成一個[m, n)之間以k為步長的隨機整數
getrandbits(k) 生成一個k位元長的隨機整數
uniform(a,b) 生成一個[a,b]之間的隨機小數
choice(seq) 從序列seq中隨機選擇一個元素: random.choice([1, 2, 3, 4, 5]); 3
shuffle(seq) 將seq中元素隨機排列,返回打亂後的序列: s = [1, 2, 3, 4, 5, 6, 7, ,8, 9]; random.shuffle(s); print(s); [3, 5, 8, 9, 6, 1, 2, 7, 4];

相關文章