運算子&流程控制
阿新 • • 發佈:2021-12-27
目錄
-
-
成員運算子
-
身份運算子
-
關鍵字:and, or, not print(2 > 1 and 1 == 1 and True and 3 > 2) # 連線符必須都要是and print(2 > 13 or 1 != 1 or True or 3 > 2) # 連線符必須都要是or print(not True) ''' 如果and, or, not 混用的話,是有優先順序的 not > and > or 要想改變優先順序,只需要加括號改變就行 '''
成員運算子
# 判斷某個個體在不在某個群體內 關鍵字:in(在) not in(不在) name_list = ['aaa, 'bbb', 'ccc', 'ddd'] name = input('請輸入您要查詢的學生姓名>>>:') print(name in name_list) print(name not in name_list) print('a' in 'aaa b b b c d d ') print('aaa' in {'username': 'aaa', 'age': 18}) # False 字典預設暴露給外界的只有K print('username' in {'username': 'aaa', 'age': 18})
身份運算子
# 判斷兩個資料 值和記憶體地址是否相等 符號: ==(只判斷值) is(判斷記憶體地址) s1 = ['aaa', 'bbb', 'ccc', 'ddd'] s2 = ['aaa', 'bbb', 'ccc, 'ddd'] print(s1 == s2) # True # print(id(s1),id(s2)) print(s1 is s2) # False """ 值相等記憶體地址不一定相等 記憶體地址相等值一定相等 """
流程控制
流程控制即控制事物的執行流程
任何使用執行流程只有三種情況
1.順序結構
自上而下依次執行
2.分支結構
在執行過程中根據條件的不同可能會執行不同的流程
3.迴圈結構
在執行過程中有些程式碼需要反覆執行
分支結構
1. python利用縮排來表示程式碼的從屬關係 2. 並不是所有的程式碼都可以擁有字程式碼 3. 屬於同一個關鍵字的子程式碼必須保持相同的縮排量(推薦縮排量為四個空格)
(冒號後面需要縮排)
- 單分支結構
if
if + 條件:
條件成立需要執行的程式碼
age_of_girl = 44 if 24 > age_of_girl > 18: print('小姐姐')
- 雙分枝結構
if +條件:
條件成立後執行的子程式碼塊
else:
條件不成立的時候執行的子程式碼塊
age_of_girl = 44 if 24 > age_of_girl > 18: print('小姐姐') else: print('阿姨你好')
- if、elif、else 連用
if 條件1:
條件1成立之後執行的子程式碼塊
elif 條件2:
條件1不成立條件2成立執行的子程式碼塊
...
else:
條件不成立執行的子程式碼塊
if語句的巢狀
age = 22 height = 165 weight = 90 is_beautiful = True is_success = True if age < 24 and height > 160 and weight < 100 and is_beautiful: print('小姐姐加個微信?') if is_success: print('吃飯,看電影......') else: print('撒喲娜拉') else: print('撒喲娜拉')
# 1.登入功能,使用者名稱是:bes, 密碼:123 # 登入成功之後,列印:登入成功,否則,登入失敗 # # 1. 接收使用者輸入的使用者名稱 username = input('請輸入使用者名稱:') password = input('請輸入密碼:') # 補充 password = int(password) if username == 'bes' and password == 123: print('登入成功') else: print('登入失敗') # 如果使用者輸入的是bes,就列印管理員,jason財務, tom保安,否則,其他人員 # 2. 先讓使用者輸入使用者名稱 username = input('請輸入使用者名稱:') if username == 'bes': print('管理員') elif username == 'jason': print('財務') elif username == 'tom': print('保安') else: print('其他人員')
while迴圈
while + 條件:
條件成立後迴圈執行的子程式碼塊
while True: username = input('請輸入使用者名稱:') password = input('請輸入密碼:') # 補充 if username == 'bes' and password == '123': print('登入成功') break # 結束本層迴圈 else: print('登入失敗') print(123) #不參與迴圈
# 驗證break跳出的是本層迴圈 while True: username = input('請輸入使用者名稱:') password = input('請輸入密碼:') # 補充 if username == 'bes' and password == '123': print('登入成功') # 結束本層迴圈 while True: cmd = input('請輸入你的指令:') print('正在執行你的指令:%s' % cmd) if cmd == 'q': break break else: print('登入失敗')
標誌位的使用
# 標誌位的使用 flag = True while flag: username = input('請輸入使用者名稱:') password = input('請輸入密碼:') # 補充 if username == 'bes' and password == '123': print('登入成功') # 結束本層迴圈 while flag: cmd = input('請輸入你的指令:') print('正在執行你的指令:%s' % cmd) if cmd == 'q': flag = False else: print('登入失敗')
練習:
猜年齡的遊戲:
如果猜對了,就直接結束
如果猜錯了:
普通要求:在次猜,給三次機會
進階要求:如果三次都輸錯了,要再次詢問使用者是否還要猜,如果使用者輸入的是y,繼續猜,否則結束
age = 18 # 設定年齡 count = 0 # 設定計數器 while count < 3: num = input('輸入年齡:') num1 = int(num) if age == int(num): print('恭喜您猜對了') break else: print('很遺憾您猜錯了') count += 1 if count == 3: cmd = input("您已連續錯誤三次,是否繼續:") if cmd == 'y': count = 0 else: print('遊戲結束')