1. 程式人生 > >python基礎之邏輯控制語句

python基礎之邏輯控制語句

邏輯控制語句

  1. 語法規則

        a=12
        if a>10:
            a=a+10;b=a+1
            c=a+\
                10+20+\
                10
            d=(a+10
               +20
               +30)
            print('a=',a)
            print('b=',b)
            print('c=',c)
            print('d=',d)
    
    1. 行結束沒有分號
    2. 沒有語句塊大括號,使用語句縮排
    3. 條件部分沒有括號
    4. 分號用於多條簡單的語句放在同一行,作為分隔符
    5. 跨行可以使用‘\’,或者(),當然[],{}等也適合。

    demo

         while True:
            reply =input('Enter text:')
            if reply == 'stop':
                break
            elif not reply.isdigit():
                print('Bad'*8)
            else:
                print(int(reply)**2)
        print('bye')
    
    
  2. 條件語句

    if 判斷條件:
        執行語句……
    else:
        執行語句……
    

    多條件

    if 判斷條件1:
        執行語句1……
    elif 判斷條件2:
        執行語句2……
    elif 判斷條件3:
        執行語句3……
    else:
        執行語句4……
    

    由於 python 並不支援 switch 語句,所以多個條件判斷,只能用 elif 來實現,如果判斷需要多個條件需同時判斷時,可以使用 or (或),表示兩個條件有一個成立時判斷條件成功;使用 and (與)時,表示只有兩個條件同時成立的情況下,判斷條件才成功。

    備註 python 複合布林表示式計算採用短路規則,即如果通過前面的部分已經計算出整個表示式的值,則後面的部分不再計算。如下面的程式碼將正常執行不會報除零錯誤,但是如果改為or則會出錯

    a=0
    b=1
    if ( a > 0 ) and ( b / a > 2 ):
        print "yes"
    else :
        print "no"
    

    Python 沒有 switch/case 語句,如果遇到很多中情況的時候,寫很多的 if/else 不是很好維護,這時可以考慮用字典對映的方法替代:

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    
    import os
    def zero():
        return "zero"
    
    def one():
        return "one"
    
    def two():
        return "two"
    
    def num2Str(arg):
        switcher={
            0:zero,
            1:one,
            2:two,
            3:lambda:"three"
        }
        func=switcher.get(arg,lambda:"nothing")
        return func()
    
    if __name__ == '__main__':
        print num2Str(0)
    
  3. 三元運算子

        x=1
    
        # if x>0:
        #     a=True
        # else:
        #     a=False
        
        f=True if x>0 else False
        
        print(a)
    
  4. 迴圈語句

    1. while

      count = 0
      while count < 5:
         print count, " is  less than 5"
         count = count + 1
      else:
         print count, " is not less than 5"
      
    2. for

      #!/usr/bin/python
      # -*- coding: UTF-8 -*-
       
      for letter in 'Python':     # 第一個例項
         print '當前字母 :', letter
       
      fruits = ['banana', 'apple',  'mango']
      for fruit in fruits:        # 第二個例項
         print '當前水果 :', fruit
       
      print "Good bye!"
      
      fruits = ['banana', 'apple',  'mango']
      for index in range(len(fruits)):
          print '當前水果 :', fruits[index]
      else:
          print('over')
      
  5. break

  6. continue

  7. range() zip()

        arr=[1,2,3,4,5,6,7,8]
    
        print(arr[1::2])
        print(arr[::2])
        
        for i in range(0,len(arr),2):
            print(i)
    
        arr1=['a','b','c']
        arr2=[97,98,99]
        
        
        li=list(zip(arr1,arr2))
        print(li)
        #轉化為字典
        dic=dict(zip(arr1,arr2))
        print(dic)
        for(x,y) in zip(arr1,arr2):
            print(x,':',y)
    
        x,y,z=(1,2,3),(4,5,6),(7,8,9)
    
        li=list(zip(x,y,z))
        print(li)
        
        #[(1, 4, 7), (2, 5, 8), (3, 6, 9)]
    
  8. enumerate()

    enumerate()返回一個生成器物件

        arr1=['a','b','c']
    
        e=enumerate(arr1)
        
        print(next(e))
        
        for (index,item) in enumerate(arr1):
            print(index,'--->',item)
    
  9. pass

    Python pass是空語句,是為了保持程式結構的完整性。

    pass 不做任何事情,一般用做佔位語句。

    Python 語言 pass 語句語法格式如下:

        pass