python流程控制while和if
阿新 • • 發佈:2018-11-20
1.流程控制if
if的4種語法
-
語法1:
#結構形式 #if條件: # 程式碼1 # 程式碼2 # 程式碼3 # ... key_bak=123 key=int(input('key:')) if key==key_bak: print('login') print('end...')
-
語法2:
#結構形式 #if條件: # 程式碼1 # 程式碼2 # ... #else: # 程式碼1 # 程式碼2
-
語法3:
#結構形式 #if條件: # 程式碼1 # ... #elif條件2: # 程式碼1 # ... #elif條件3: # 程式碼1 # ... #else: # 程式碼... #該結構由if條件開始執行,若符合條件則下面elif將不執行,若不符合將執行第一個elif,依次往下。 #小練習: #
-
語法4:if的巢狀
#結構形式 #if 條件1: # if條件2: # 程式碼1 # ... #例項: #判斷一個數字能否被2和3同時整除 num=input('請輸入數字:') num=int(num) if num%2==0: if num%3==0: print('能被2和3同時整除') else: print('輸入數字可以整除2,但不能整除3') else: if num%3==0: print('輸入數字能整除3,不能整除2') else: print('輸入數字不能整除3,也不能整除2')
2.流程控制while迴圈
-
1.while迴圈
也叫條件迴圈
#while條件: # 程式碼1 # 程式碼2 # ... name_of_bk='dengyifan' pwd_of_bk='1007508381' tag=True while tag: inp_name=input('your name:') inp_pwd=input('your password:') if inp_name==name_of_bk and inp_pwd==pwd_of_bk: print('login successful') tag=False else: print('user name or password error') print('finished') #該迴圈會一直到輸入正確的資訊才會按條件結束
2.while+break結構
break代表結束本層迴圈
#例 while True: print(1) break print(2) #在pycharm中,當在break 後寫程式碼會以顏色標識告訴你後面同層程式碼不會執行。 #接前一結構例項,同樣可以用break 來打斷程式執行 name_of_bk='dengyifan' pwd_of_bk='1007508381' while tag: inp_name=input('your name:') inp_pwd=input('your password:') if inp_name==name_of_bk and inp_pwd==pwd_of_bk: print('login successful') break else: print('user name or password error') print('finished') #該迴圈同樣也可一直執行至正確輸入結束
-
3.while+continue結構
continue代表結束本次迴圈,和break有區別
#例 順序輸出1-9 count=1 while count<10: print(count) count+=1 # 若現在要剔除1-9中的3和6 count=1 while count<10: if count==3 or count==6: # 選擇出3和6 count+=1 #在此處需要寫一個增值運算,否則程式執行到count==3就一直執行continue語法 continue print(count) count += 1 #再接前一結構例項 #若現在須限制使用者輸入次數為3次 name_of_bk='dengyifan' pwd_of_bk='1007508381' count=0 while count<4: count += 1 if count == 4: print('輸錯次數過多') break inp_name=input('your name:') inp_pwd=input('your password:') if inp_name==name_of_bk and inp_pwd==pwd_of_bk: print('login successful') break else: print('user name or password error') print('finished')
4.while+else結構
else的子代塊只有在while迴圈沒有break打斷才會執行,else會判斷while迴圈怎麼樣結束
#
順序輸出1-9 count=0 while True: if count==10: break print(count) count+=1 else: print('else的子代塊只有在while迴圈沒有被break打斷的情況下才會被執行') #else的內容並不會執行,因為被break打斷 count=1 while count<10: print(count) count+=1 else: print('else的子代塊只有在while迴圈沒有被break打斷的情況下才會被執行') #可以執行出來,因為沒有break打斷 # name_of_bk='dengyifan' # pwd_of_bk='1007508381' # count=0 # tag=True # while tag: # if count==3: # print('您輸入的次數過多') # break # inp_name=input('your name:') # inp_pwd=input('your password:') # if inp_name==name_of_bk and inp_pwd==pwd_of_bk: # print('login successful') # while tag: # print(""" # 0 退出 # 1 檢視 # 2 購買 # 3 支付 # 4 撤銷""")# cmd=input('>>>_:') # if cmd=='0': # tag=False # continue # elif cmd=='1': # print('檢視...') # elif cmd=='2': # print('購買...') # elif cmd=='3': # print('支付...') # elif cmd=='4': # print('撤銷...') # else: # print('輸入的指令有誤') # else: # print('user name or password error') # count+=1