1. 程式人生 > >Python While迴圈語句(二)

Python While迴圈語句(二)

好啦,咋們來了,繼續吧。

本章學習點:

  1. while else

  2. break 與 continue

  3. 上節小作業(模仿銀行輸入的密碼出錯3次,而鎖定賬戶(三次重新輸入密碼的機會))

一. While else 組合

在我們上節已經說過了while的運用,但是有趣的是,Python還有個while else 組合,其實這個組合是 if...else... 的親戚呢。這個是什麼意思呢?意思就是 while 條件不成立的時候,就執行 else 否則的程式碼塊,這與 if...else.. 組合非常相似呀,只是說while是可以進行迴圈而已,而 if...else... 沒有迴圈這個功能而已啦。現在接下來看看程式碼吧。

# !/usr/bin/env python
# -*- coding:utf8 -*-

number = 9
while number < 10:
	print(number)
	number = number + 1
else:
	print("else ")

執行結果是:

9

else

二. break 與 continue 

這兩個關鍵字,顧名思義,就是打斷跳出和 打斷繼續,這正符合while使用這兩個關鍵字的功能描述。為什麼這麼說呢?還是使用上面的例子進行更改驗證。

continue

程式規定,若要打印出1 2 3 4 5 6 7 9 使用以下程式碼即可。

# !/usr/bin/env python
# -*- coding:utf8 -*-

number = 1
while number < 10:
	if number == 8:
		number = number + 1
		continue
	print(number)
	number = number + 1

咋們來解釋下以上程式碼吧。在number等於8的時候,就讓number加一,但是continue是什麼意思呢?是一個怎麼樣的執行步驟呢?當執行continue的時候,continue下面的程式碼就執行了,就會直接跳轉到while迴圈的條件,進行條件判斷number是否小於10,如果小於10,就會進行執行迴圈程式碼塊,這時候number已經等於9了,還是可以進行執行。所以就打印出1 2 3 4 5 6 7 9。

break

程式規定使用以上程式碼,若要在number等於8的時候,立馬結束迴圈,最後再迴圈體外打印出end語句,就可以使用以下程式碼。

# !/usr/bin/env python
# -*- coding:utf8 -*-

number = 1
while number < 10:
	if number == 8:
		break
	print(number)
	number = number + 1
print("end")

執行結果是:1 2 3 4 5 6 7 end

那麼你會發現 print(number) 和 number = number + 1 當進入number等於8的時候,執行了break後,這兩句話並沒有執行,這是為什麼呢?咋們來仔細分析下,當number等於8的時候,執行break,而break是打斷跳出迴圈,那麼就直接執行while迴圈體外的程式碼了,也就是print("end") 程式碼。

以上就是break與continue的區別了。總結以下:

continue 是終止當前迴圈,開始下一次迴圈。 break 是終止所有迴圈。

三. 模仿銀行輸入的密碼出錯3次,而鎖定賬戶(三次重新輸入密碼的機會)

# !/usr/bin/env python
# -*- coding:utf8 -*-

count = 0
while count < 3:
	name = input("請輸入使用者名稱:")
	password = input("請輸入密碼:")
	if name == "root" and password == "123":
		print("密碼輸入正確")
		break
	else:
		print("使用者名稱或者密碼錯誤")
	count = count + 1