1. 程式人生 > 實用技巧 >Python流程控制

Python流程控制

一、if語句

  流程控制即控制流程,具體指控制程式的執行流程,而程式的執行流程分為三種結構:順序結構(之前我們寫的程式碼都是順序結構)、分支結構(用到if判斷)、迴圈結構(用到while與for)

if語句基本語法:
    if    判斷條件:                                                                                  
        符合條件執行的動作                                                     
    elif   判斷條件         
        執行的動作                                                                                      
    
else: 執行的動作 Python語言中,為了區分if語句中判斷條件執行時和else區分,所以要求縮排,而別的語言由於有大括號進行區分,所以不需要縮排,執行的動作可以有多條;tab鍵不等於四個空格,縮排級別必須要保持一致;官方規定縮排四個空格;此外,if語句由上到下判斷,當有一個條件判斷成功後,其他的語句不再判斷 if語句可以無限的巢狀. 但是在實際開發中. 儘量不要超過三層巢狀 示例: age = 19 is_beautiful = True star
= '水平座' if 18 < age < 20 and is_beautiful and star == '水平座': print('開始表白。。。。。') is_successful = True if is_successful: print('兩個從此過上沒羞沒臊的生活。。。') elif 10 < age <18: print('你太小了,我們不合適。。。。') else:
print('阿姨好,我逗你玩呢,深藏功與名') print('對不起,系統無法確認性別。。。。')

二、while迴圈

  迴圈結構就是重複執行某段程式碼塊

  while迴圈稱之為條件迴圈

whihe迴圈:

    基本語法:
        while   條件:
            程式碼
        else:
            程式碼

    退出while迴圈的兩種方式
        方式一:
            將條件改為false,等到下次迴圈判斷條件時才會生效
        方式二:
            break,只要遇到break就會立刻終止本次迴圈
            continue:結束本次迴圈,直接進入下次迴圈
            注:在continue之後新增同級程式碼毫無意義,因為永遠無法執行

    while迴圈可以巢狀,但是要注意層級
    while迴圈和else連用的時候,while迴圈必須是在沒有被break打斷的情況下,才可以執行
        count=0
        while count < 3:
            inp_name=input('請輸入您的賬號:')
            inp_pwd=input('請輸入您的密碼:')

            if inp_name  == username and inp_pwd == password:
                print('登入成功')
                while True:
                    cmd=input("輸入命令>: ")
                    if cmd == 'q': # 整個程式結束,退出所有while迴圈
                        break
                    else:
                        print('命令{x}正在執行'.format(x=cmd))
                break
            else:
                print('賬號名或密碼錯誤')
                count+=1
        else:
            print('輸錯3次,退出')
            

三、for迴圈

  迴圈結構的第二種實現方式是for迴圈,for迴圈可以做的事情while迴圈都可以實現,之所以用for迴圈是因為在迴圈取值(即遍歷值)時for迴圈比while迴圈的使用更為簡潔

for迴圈:
    for 變數名 in 可迭代物件:# 可迭代物件可以是:列表、字典、字串、元組、集合
         程式碼1
        程式碼2
        程式碼3

    range(10)                             #列印1到10
    range(1,9,1)                        #列印1到9每次遞增1
        for搭配range,可以按照索引取值,但是麻煩,所以不推薦
    for迴圈巢狀
        外層迴圈迴圈一次,內層迴圈需要完整的迴圈完畢
        終止for迴圈只有break一種方案
    for+break:
        終止迴圈
    for+continue:
        終止本次迴圈
    for+else:
        for迴圈執行完畢,沒有被break和continue打斷的情況下,執行else分支的程式碼