13.流程控制(2)----while循環

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

結果爲:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章