1. 程式人生 > >Python代碼結構——順序、分支、循環

Python代碼結構——順序、分支、循環

使用 cond 最小 字符串 and bre key BE 執行c

## 順序結構
  - 按照從上到下的順序,一條語句一條語句的執行,是最基本的結構


## 分支結構
  if condition:
    statement
    statement
    ...
  elif condition>:  
    statement
    statement
    ...
  else:
    statement
    statement
    ...
  - if 語句可以嵌套,但不推薦, 盡量保持代碼簡潔
  - Python沒有switch-case語句

  - Python條件語句允許下列寫法
    x = 10
    print(1 < x < 20) # -> True
    print(1 < x < 20 < 100) # -> True
  - 以下數據將被判定為False:
    False、None、0、0.0、""、[]、()、{}、set()

## 循環結構
  - 寫循環程序時需要註意循環變量的初值,循環條件和循環變量的增量,三者共稱為循環三要素
  - while循環
    count = 0 # -> 循環變量
    while count < 5: # -> 循環條件

    print(count, end=",") # -> 0,1,2,3,4,
    count += 1 # -> 循環變量的增量,對循環變量進行修改


  - for叠代
    - 在C或者Java等語言中,for循環將循環三要素結合在一行語句中:大概如下:
      for(int i = 0; i < 10; i++){循環體}
    - 但Python中的for循環相對而言更加簡潔
      words = ["and", "or", "not"]
      for word in words:

        print(word, end=", ") # -> and, or, not,
    - 列表、元組、字典、集合、字符串都是可以叠代的對象


  - 對字典的叠代可以:
    a_dict = {"name": "Stanley", "age": "22"}
    for k, v in a_dict.items():
      print("{0}: {1}".format(k, v))
    # -> name: Stanley
      age: 22
  - 單獨叠代字典的key或者value可以使用字典的keys()或values()函數


  - break關鍵字
    - 在循環體中使用break關鍵字,整個循環會立刻無條件停止
      count = 0
      while count < 5:
        if count == 2:
          break
        print(count, end=" ")
        count += 1

      # -> 0 1

      # -> 由於當count等於2時,進入if語句執行了break,所以循環結束,未完成的循環不再執行


  - continue關鍵字
    - 在循環體中使用continue關鍵字,此次循環無條件體停止,執行之後的循環

      for i in range(0, 5):
        if i == 2:
          continue
        print(i, end=" ")
      # -> 0 1 3 4
      # -> 當i等於2時進入if語句,執行continue,本次循環跳過,進入下一循環

  - 與循環一起使用else
    for i in range(0, 5):
      print(i, end=" ")
    else:
      print("循環結束")
    # -> 0 1 2 3 4 循環結束
    - 當循環完全結束後(不被break和cuntinue打斷)執行else中的代碼
    - else同樣適用於while循環


  - 使用zip()並行叠代
    numbers = [1, 2, 3, 4]
    words = ["one", "two", "three", "four"]
    days = ["Mon.", "Tues.", "Wed.", "Thur."]
    for number, word, day in zip(numbers, words, days):
      print(number, word, day)
  輸出:
    1 one Mon.
    2 two Tues.
    3 three Wed.
    4 four Thur.
  - zip()函數在長度最小的參數中的元素用完後自動停止,其他參數未使用的元素將被略去,除非手動擴展其他較短的參數長度
  - zip()函數的返回值不是列表或元組,而是一個整合在一起的可叠代變量
    list(zip(words, days))
    # -> [(‘one‘, ‘Mon.‘), (‘two‘, ‘Tues.‘), (‘three‘, ‘Wed.‘), (‘four‘, ‘Thur.‘)]

本文參考書籍:[美]Bill Lubanovic 《Python語言及其應用》

Python代碼結構——順序、分支、循環