1.函數input()工作原理
函數input()讓程序暫停運行,等待用戶輸入一些文本。獲取用戶輸入后,Python將其存儲在
一個變量中,以方便你使用。
(1)獲取數值可以用 int()函數
(2)求模運算符(%)將兩個數相除並返回余數
2.while循環簡介
(1)for循環用於針對集合中的每個元素都一個代碼塊,而while循環不斷地運行,直到指定的條
件不滿足為止。
例子
while 條件:
代碼塊
(2)使用標志
在要求很多條件都滿足才繼續運行的程序中,可定義一個變量,用於判斷整個程序是否處於
活動狀態。這個變量被稱為標志,充當了程序的交通信號燈。你可讓程序在標志為True時繼續運
行,並在任何事件導致標志的值為False時讓程序停止運行。這樣,在while語句中就只需檢查一
個條件——標志的當前值是否為True,並將所有測試(是否發生了應將標志設置為False的事件)
都放在其他地方,從而讓程序變得更為整潔。
(3)使用break退出循環
要立即退出while循環,不再運行循環中余下的代碼,也不管條件測試的結果如何,可使用
break語句。break語句用於控制程序流程,可使用它來控制哪些代碼行將執行,哪些代碼行不執
行,從而讓程序按你的要求執行你要執行的代碼。
(4)在循環中使用continue
要返回到循環開頭,並根據條件測試結果決定是否繼續執行循環,可使用continue語句,它
不像break語句那樣不再執行余下的代碼並退出整個循環。
(5)避免無限循環
每個程序員都會偶爾因不小心而編寫出無限循環,在循環的退出條件比較微妙時尤其如此。
如果程序陷入無限循環,可按Ctrl + C,也可關閉顯示程序輸出的終端窗口。
要避免編寫無限循環,務必對每個while循環進行測試,確保它按預期那樣結束。如果你希
望程序在用戶輸入特定值時結束,可運行程序並輸入這樣的值;如果在這種情況下程序沒有結束,
請檢查程序處理這個值的方式,確認程序至少有一個這樣的地方能讓循環條件為False或讓break
語句得以執行。
注意 :
有些編輯器(如Sublime Text)內嵌了輸出窗口,這可能導致難以結束無限循環,因此不
得不關閉編輯器來結束無限循環。
3.使用while循環來處理列表和字典
(1)在列表之間移動元素
# 首先,創建一個待驗證用戶列表
# 和一個用於存儲已驗證用戶的空列表
unconfirmed_users = ['alice', 'brian', 'candace']
confirmed_users = []
# 驗證每個用戶,直到沒有未驗證用戶為止
# 將每個經過驗證的列表都移到已驗證用戶列表中
while unconfirmed_users
current_user = unconfirmed_users.pop()
print("Verifying user: " + current_user.title())
confirmed_users.append(current_user)
# 顯示所有已驗證的用戶
print("\nThe following users have been confirmed:")
for confirmed_user in confirmed_users:
print(confirmed_user.title())
運行結果
Verifying user: Candace
Verifying user: Brian
Verifying user: Alice
The following users have been confirmed:
Candace
Brian
Alice
(2)刪除包含特定值的所有列表元素
我們使用函數remove()來刪除列表中的特定值,這之所以可行,是因為要刪除
的值在列表中只出現了一次。如果要刪除列表中所有包含特定值的元素,該怎么辦呢?
假設你有一個寵物列表,其中包含多個值為'cat'的元素。要刪除所有這些元素,可不斷運
行一個while循環,直到列表中不再包含值'cat'
(3)使用用戶輸入來填充字典
使用while循環提示用戶輸入任意數量的信息。