python | if else || where true 流程控制
阿新 • • 發佈:2020-12-05
流程控制
流程控制即 控制流程, 具體指控制程式的執行流程, 而程式的流程分為三種,
- 順序結構(以前寫的程式碼都是順序結構)
- 分支結構(if 判斷)
- 迴圈結構(while 和 for 迴圈)
分支結構
什麼是分支結構
分支結構就是根據條件判斷的真假去執行不同的程式碼塊.
為什麼要用分支結構
人類某些時候要根據條件決定做什麼事情, 比如, 今天下雨, 帶傘.
是最基本的邏輯判斷.
如何使用分支結構
if 語法
用if關鍵字實現分支結構.
1
|
if 條件1:
|
if 應用案例
1
|
# 案例1
|
1
|
# 案例2
|
1
|
# 案例3
|
練習登入
1
|
username_from_db = "zhang"
|
迴圈結構
while 迴圈語法
python中 有while 與for 兩中迴圈機制, 其中while 稱之為條件迴圈.
1
|
while 條件:
|
案例1
使用者認證
1
|
username_from_db = "zhang"
|
案例二 while + break 的使用
使用while 迴圈後, 當登入成功, 則需要後續操作, 需要結束本層迴圈 , 那麼就需要break.
- break 結束本層迴圈. 結束後 迴圈內程式碼都不執行.
1
2
3
4
5
6
7
8
9
10
11
12
13username_from_db = "zhang"
password_from_db = 123
# 記錄驗證錯誤次數
count = 0
while count <3:
username = input("please input your username>>:").strip()
password = input("please input your password>>:").strip()
if username == username_from_db and password == password_from_db:
print("登入成功")
break # 用於結束本層迴圈
else:
print("使用者名稱或密碼錯誤,請重新收入")
count +=1
案例三, while 迴圈巢狀+ break
如果while 迴圈嵌套了很多層, 想要退出每層迴圈,則需要在每層都有一個break
1
|
username_from_db = "zhang"
|
案例四, while 迴圈巢狀, + tag 的使用
針對巢狀多層的while迴圈, 如果當滿足某個條件就退出所有迴圈, 就可以使用tag , 即 將tag 初始值為 True , 當滿足某個條件後 tag 更改為False , 就會退出所有層迴圈
1
|
username_from_db = "zhang"
|
案例五 while + continue 的使用.
- break 代表結束本層迴圈,
- continue 代表結束本次迴圈, 進入下一次迴圈
1
2
3
4
5
6
7num = 10
while num >1:
num -=1
if num ==6:
continue # 結束到本次迴圈, 後面的程式碼則不會再執行, 直接進入下一次迴圈.
print(num)
# 結果 6 則不列印,
當迴圈正常結束後, 執行else 後語句, 用來驗證 迴圈是否正常結束.1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16count = 0
while count <5:
count +=1
print(f"這是第{count}次迴圈")
else:
print("迴圈正常結束")
print("*"*50)
# 輸出
這是第1次迴圈
這是第2次迴圈
這是第3次迴圈
這是第4次迴圈
這是第5次迴圈
迴圈正常結束
**************************************************
1
|
count = 0
|
for 迴圈語法.
迴圈結構的第二種實現方法是 for 迴圈, for 迴圈可以做的事情 while迴圈都可以實現,之所以使用for 是因為, for迴圈在遍歷取值時, 更為簡潔.
- for 迴圈語法如下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
for 變數名 in 可迭代物件: # 可迭代物件為, 字典,列表, 字串, 等..
程式碼1
程式碼2
# 例子
for i in [1,2,3,4]:
print(i)
# 輸出結果
1
2
3
4
# 迴圈是, 將列表[1,2,3,4] 中的值分別取出並賦值給i 然後列印i 直到列表值取完.1
2
3
4
5
6
7
8
9
10
11
12# for 版本
for count in range(6):
print(count)
# while 版本
count = 0
while count<6:
print(count)
count +=1
# range 有三個引數, start = 其實數字 end = 結束數字. sep =步長
# range 顧頭不顧尾.1
2
3
4
5
6for k in {"name":"Evgeny", "age":18}
print(k)
# 輸出結果
name
age
1
|
# 使用for 迴圈巢狀的方式列印以下圖形
|
注意: break 與continue 也可以用於for迴圈, 使用發放與while迴圈相同.