1.介紹循環
循環:重複做一件事。
我們在程序中要想重複做一件事時,總不能將相同的代碼複製多份,利用循環可以巧妙的解決這個問題。
2.while循環的基本使用
基本語法:
代碼塊1
while 條件:
代碼塊2
代碼塊3
拿上述僞僞代碼來說,代碼塊1執行完後到了while循環,判斷條件是否成立,
如果成立執行代碼塊2,然後繼續判斷條件是否成立,如果成立的話,再執行代碼塊2,
然後判斷條件是否成立,以此類推。當條件不成立時就會退出循環,執行代碼塊3。
ps:因爲while循環的次數取決於條件,所以while循環也可以叫條件循環。
流程圖:
3.死循環
死循環:顧名思義,循環陷入死局,無法打破。當while條件恆爲真時,while循環就會變成一個死循環
eg:
while True: #條件恆爲真
print(111)
如果死循環中的代碼是純計算而無IO操作,會帶來嚴重的效率問題。
但如果我們迫不得已要寫死循環,推薦寫法:
while 1:
...
...
3.打破循環
打破循環有兩種方式:1.改變條件爲False 2.break
1.break---->打破本層循環
流程圖:
需求:獲取用戶輸入,如果賬號和密碼正確提示登錄成功並退出,否則一直讓用戶進行登錄
代碼:
1.使用break
name = "yhr"
password = "123"
while 1:
name_input = input("請輸入用戶名:")
password_input = input("請輸入密碼:")
if name == name_input and password == password_input:
print("登錄成功")
break
else:
print("用戶名或密碼錯誤")
2.改變條件
flag =True
name = "yhr"
password = "123"
while flag:
name_input = input("請輸入用戶名:")
password_input = input("請輸入密碼:")
if name == name_input and password == password_input:
print("登錄成功")
flag = False
else:
print("用戶名或密碼錯誤")
2.continue---->打破本次循環
流程圖:
需求:輸入1-10,4跳過
count = 1
while count <= 10:
if count == 4:
count += 1
continue
print(count)
count += 1
注意:continue後邊的同級代碼無意義,因爲不會執行
4.補充內容
1.while else
用法:
while 條件:
...
...
else:
...
當while循環結束後,會執行else中的內容
實例代碼:
count = 1
while count <= 10:
if count == 4:
count += 1
continue
print(count)
count += 1
else:
print("結束了")
結果如下:
2.while循環的嵌套
理論上循環可以無限嵌套,但是最好不要超過三層,隨着循環層數的增加,程序的時間複雜度越來越大,影響效率。
示例代碼:
count1 = 1
count2 = 1
count3 = 1
while count1 <= 5:
print("count1:",count1)
while count2 <= 5:
print("count2:",count2)
while count3 <= 5:
print("count3:",count3)
count3 += 1
count2 += 1
count1 += 1
結果爲: