12、流程控制

水之原發表於2018-01-01

流程控制

if else

  • if語句

    • Python的if語句類似其他語言。if語句包含一個邏輯表示式,使用表示式比較,在比較的結果的基礎上作用出決定。

        if expression:
            statement
    • 注:Python使用縮排作為其語句分組的方法,建議使用4個空格代替縮排。
    • 邏輯值(bool)用來表示諸如:對與錯,真與假,空與非空的概念
    • 邏輯值包含了兩個值:
      • True:表示非空的量(比如:string, tuple, set, dictonary等),所有非零數
      • False:表示0,None,空的量等。
    • 作用:主要用於判讀語句中,用來判斷
      • 一個字串是否為空的
      • 一個運算結果是否為零
      • 一個表示式是否可用
  • else語句

    • 語法

        if expression:
            statement
        else:
            statement
    • 如果條件表示式if語句解析為0或false值。else語句是一個可選的語句,並最多隻能有一個else語句。

  • elif語句

    • 語法

        if expression:
            statement
        elif expression2:
            statement
        elif expression3:
            statement
        else:
            statement
    • elif語句可以讓你檢查多個表示式為真值,並執行一個程式碼塊,elif語句是可選的。可以有任意數量的elif。

  • 巢狀的if...elif...else構造

      if expression1:
          statement
          if expression2:
              statement
          else:
              statement
      else:
          statement
  • 使用邏輯運算子and、or、not

      if expression1 and expression2:
          statement
      else:
          statement

for迴圈

  • 迴圈是一個結構,導致一個程式重複一定次數。

  • 條件迴圈也是如此。當條件變為假,迴圈結束。

  • for迴圈:
    • 在Python for迴圈遍歷序列,如一個列表或一個字元。
  • for迴圈語法:

      for iterating_var in sequence:
          statements
  • 注:如果一個序列包含一個表示式列表,它是第一個執行。
    然後,該序列中的第一項賦值給迭代變數iterating_var。接下來,執行語句塊。列表中的每個專案分配到iterating_var,程式碼塊被執行,直到整個序列被耗盡。

  • 注:格式遵循程式碼塊縮排原則

  • 例子:

      for letter in 'python':
          print 'Current Letter: ', letter
    
      fruits=['banana', 'apple', 'mango']
      for fruit in fruits:
          print 'Current fruit: ', fruit
  • 迭代序列指數(索引):
    • 遍歷每個專案的另一種方法是由序列本身的偏移指數(索引)

    • 例子

        fruits=['banana', 'apple', 'mango']
        for index in range(len(fruits)):
            print 'Current fruit: ', fruits[index]
    • 注:‘迭代’,指重複執行一個指令。

range

  • 迴圈結構是用於迭代多個項的for語句,迭代形式可以迴圈序列的所有成員。

  • range(i,j[,步進值])
    • 如果所建立的物件為整數,可以用range
    • i為初始數值
    • j為終止數值,但不包括在範圍內,步進值為可選引數,不選的話預設是1
    • i不選擇的話預設為0
  • 例子:

      sum = 0
      for num in range(1, 101, 1):
          sum += num
      print sum

遍歷字典

    dic={'name': 'jack', 'age': 20, 'gender':'male'}
    for key in dic:
        val = dic[key]
        print key,val

    for key,val in dic.items():
        print key, val

for迴圈控制

    for x in range(10):
        if x == 1:
            pass
        if x == 2:
            continue
        if x == 5:
            break;
    else
        print 'end'

while迴圈

  • while迴圈,直到表示式變為假。表達的是一個邏輯表示式,必須返回一個true或false值

  • 語法:

      while expression:
          statement
  • 注:遵循程式碼塊縮排原則

      while x != 'q':
          x = raw_input('please input something, q for quit: ')
          if not x:
              break
      else:
          print 'end'