1. 程式人生 > >python流程控制while和if

python流程控制while和if

流程控制

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
    # ... name=input('please input your name:') if name=='lily': print('總經理') else: print('員工')

     

  • 語法3:

    #結構形式
    #if條件:
    #    程式碼1
    #    ...
    #elif條件2:
    #    程式碼1
    #    ...
    #elif條件3:
    #    程式碼1
    #    ...
    #else:
    #    程式碼...
    #該結構由if條件開始執行,若符合條件則下面elif將不執行,若不符合將執行第一個elif,依次往下。
    #小練習:
    #
    將100分按照90-100分為A,80-90分為B,60-80分為C,60以下分為D,輸入其他資訊錯誤。 score=input('your score:') score=int(score) if score>100: print('輸入資訊有誤') elif score>=90: #這裡沒有and因為該結構形式在第一步已經將大於100的資料刪選了。故不需要and score<=100 print('A') elif score>=80: # print('B') elif score>=60: print('C
    ') else: print('D')

     

  • 語法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