python流程控制之if判斷、for迴圈、while迴圈
阿新 • • 發佈:2021-06-22
流程控制
順序結構:
程式碼自上而下依次執行(我們之前所寫的程式碼都是順序結構)
分支結構:
程式碼執行到某個節點之後根據條件的不同執行不同的程式碼(if判斷)
迴圈結構:
程式碼執行到某個節點之後一直重複執行某一段程式碼直到結束(while、for)
必備知識
程式碼縮排
在python中使用縮排來表示程式碼的從屬關係
一般情況下我們採取四個空格來表示縮排(推薦)
並不是所有的程式碼都可以擁有子程式碼
同屬於一個關鍵字的子程式碼必須要保持相同的縮排量
ps:可以簡單的記憶遇到冒號下面的程式碼必縮排
if判斷
if判斷語句格式: 1.if 條件: 條件成立之後才會執行的程式碼 #如果女孩子的年齡小於30歲 列印小姐姐 # girl_age = 40 # if girl_age < 30: # if判斷 # print('小姐姐好') 2.if 條件: 程式碼1 程式碼2 ... else: 程式碼1 程式碼2 ... 如果條件成立則走if的子程式碼 如果條件不成立則走else的子程式碼 # 如果女孩子的年齡小於30歲 列印小姐姐 否則列印阿姨 # girl_age = 68 # if girl_age < 30: # print('小姐姐好') # else: # print('阿姨') 3.if 條件1: 程式碼1 程式碼2 ... elif 條件2: 程式碼1 程式碼2 ... else: 程式碼1 程式碼2 ... 條件1成立 執行if的子程式碼 elif和else都不執行 條件2成立(說明條件1沒有成立) 執行elif的子程式碼 if和else都不執行 如果條件都不成立 則走最後的else子程式碼 if和elif都不執行 elif可以寫多個 # 如果女孩子的年齡小於30歲 列印小姐姐 小於40隨列印大姐姐 小於50歲阿 否則躺平 # girl_age = 28 # if girl_age < 30: # print('小姐姐') # elif girl_age < 40: # print('阿姨我不想努力了') # elif girl_age < 50: # print('老寶貝') # else: # print('躺平') """ 條件可以是一個,也可以是多個 if可以巢狀 if 條件: if 條件: #其他的跟if語句一樣
while迴圈
while 條件: 迴圈體程式碼1 迴圈體程式碼2 ... 當條件成立的情況下 會依次執行while子程式碼 子程式碼執行結束之後再次返回到條件處判斷條件是否成立 如果成立繼續執行 如果不成立則結束迴圈 # 迴圈列印1-10 除了數字7 1. # count = 1 # while count < 11: # if count == 7: # count += 1 # # 跳過本次迴圈 開始下一次迴圈 # continue # print(count) # # 讓count自增1 # count += 1 2. # count = 1 # while count < 11: # if count == 7: # break #結束離他最近的一個迴圈 本層迴圈 # print(count) # # 讓count自增1 # count += 1 # else: # print('當while沒有被break主動結束的情況下自動結束了 則會走else') # 全域性標誌位和while巢狀 # flag = True #全域性標誌符 # while flag: # # 1.獲取使用者的使用者名稱和密碼 # username = input('username>>>:') # password = input('password>>>:') # # 2.判斷使用者名稱和密碼是否正確 # if username == 'jason' and password == '123': # print('登入成功') # # 迴圈結構 # while flag: # command = input('command>>>:') # if command == 'q': # flag = False # print('正在執行您的命令:%s'%command) # else: # print('使用者名稱或密碼錯誤')
for迴圈
注意: for迴圈能夠做到的事情while迴圈都可以做到 但是for迴圈使用起來比while更加的簡單快捷 for 變數名 in 可迭代物件: # 看成是 字串 列表 字典等型別 for迴圈的迴圈體程式碼 ps:變數名如果你真的不知道起什麼 一般都是以 i、j、item #range range(起始位置,終止位置) 顧頭不顧尾 在python3中 類似於是一個老母豬 需要值的時候才會給你 不需要的時候就不給 節省記憶體 在python2中 直接生成一個列表 不節省記憶體 xrange(10) 等價於 python3裡面的range() # break # for i in [1,2,3,4,5,6]: # if i == 4: # break # 結束本層for迴圈 與while+break一致 # print(i) # continue # for i in [1,2,3,4,5,6]: # if i == 4: # continue # 結束本次for迴圈 與while+continue一致 # print(i) # else for迴圈正常結束之後走else 否則不走 與while+else一致 # for i in range(5): # if i == 3: # break # print(i) # else: # print('快結束了') # 九九乘法表 for i in range(1,10): for j in range(1,i+1): print('%s*%s=%s'%(i,j,i*j),end=' ') print()