摘要:本章主要介紹如何進行用戶輸入,循環,以及與循環配合使用的語句。函數在中,使用函數獲取用戶輸入,這里請注意的返回值為字符串。值得提醒的是,編寫循環時應避免死循環,或者叫做無限循環,比如循環忘記了變量自增。
《Python編程:從入門到實踐》筆記。1. input() 函數
本章主要介紹如何進行用戶輸入,while循環,以及與循環配合使用的break, continue語句。
在Python中,使用input()函數獲取用戶輸入,這里請注意:input()的返回值為字符串。如果輸入的是數字,并且要用于后續計算,需要進行類型轉換。
input()函數可以傳入字符串參數作為輸入提示,如下:
# 代碼: number = input() # 判斷數據類型的兩種方法 print(type(number)) print(isinstance(number, str)) print(int(number) ** 2) # int()函數將字符串轉換成整數 # 如果提示超過一行,可以將提示放在變量中,再將變量傳入input(); # 并且最好在提示后面留一個空格以區分提示和用戶輸入 message = input("Tell me something, and I will repeat it back to you: ") print(message) # 結果: 123True 15129 Tell me something, and I will repeat it back to you: Hello, everyone! Hello, everyone!
判斷奇偶(作為對前文常見運算的補充):取模運算%,返回余數
# 代碼: number = input("Enter a number, and I"ll tell you if it"s even or odd: ") number = int(number) if number % 2: print(" The number " + str(number) + " is even.") else: print(" The number " + str(number) + " is odd.") # 結果: Enter a number, and I"ll tell you if it"s even or odd: 123 The number 123 is even.2. while 循環簡介
for循環用于針對集合中的每個元素的一個代碼塊,而while循環不斷地運行,直到指定的條件不滿足為止。比如,讓用戶選擇何時退出:
# 代碼: prompt = " Tell me something, and I will repeat it back to you:" prompt += " Enter "quit" to end the program. " message = "" while message != "quit": message = input(prompt) if message != "quit": print(message) # 結果: Tell me something, and I will repeat it back to you: Enter "quit" to end the program. Hello everyone! Hello everyone! Tell me something, and I will repeat it back to you: Enter "quit" to end the program. Hello again. Hello again. Tell me something, and I will repeat it back to you: Enter "quit" to end the program. quit2.1 使用標志
在上述代碼中我們直接對輸入數據進行判斷,這樣做在簡單的程序中可行,但復雜的程序中,如果有多個狀態同時決定while循環的繼續與否,要是還用上述的方法,則while循環的條件判斷將很長很復雜,這時可以定義一個變量作為標志來代替多個條件。使用標志來改寫上述代碼:
prompt = " Tell me something, and I will repeat it back to you:" prompt += " Enter "quit" to end the program. " active = True while active: message = input(prompt) if message != "quit": active = False else: print(message)
在復雜的程序中,如很多事件都會導致程序停止運行的游戲中,標志很有用:在其中的任何一個事件導致活動標志變為False時,主游戲循環將退出。
2.2 使用break退出循環要立即退出while或者for循環,不在執行循環中余下的代碼,也不管條件測試的結果如何,可使用break語句。再將上述使用標志的代碼改寫為break:
prompt = " Tell me something, and I will repeat it back to you:" prompt += " Enter "quit" to end the program. " while True: message = input(prompt) if message != "quit": break print(message)2.3 在循環中使用continue
如果滿足某條件時要返回循環開始處,而不是跳出循環,則使用continue語句。以下是打印1到10中的所有奇數的代碼:
# 代碼: count = 0 while count < 10: count += 1 if count % 2 == 0: continue print(count) # 結果: 1 3 5 7 9
break與continue的區別:break跳過循環體內余下的所有代碼,并跳出循環;continue跳過循環體內余下的所有代碼,回到循環體開始處繼續執行,而不是跳出循環體。
值得提醒的是,編寫循環時應避免死循環,或者叫做無限循環,比如while循環忘記了變量自增。
將未驗證用戶經驗證后變為已驗證用戶:
# 代碼: 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(" The 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 Alice3.2 刪除包含特定值的所有列表元素
之前的章節中使用remove()函數來刪除列表中的值,但只刪除了列表中的第一個指定值,以下代碼循環刪除列表中指定的值:
# 代碼: pets = ["dog", "cat", "dog", "goldfish", "cat", "rabbit", "cat"] print(pets) while "cat" in pets: pets.remove("cat") print(pets) # 結果: ["dog", "cat", "dog", "goldfish", "cat", "rabbit", "cat"] ["dog", "dog", "goldfish", "rabbit"]3.3 使用用戶輸入來填充字典
# 代碼: responses = {} # 設置一個標志,指出調查是否繼續 polling_active = True while polling_active: # 提示輸入被調查者的名字和回答 name = input(" What is your name? ") response = input("Which mountain would you like to climb someday? ") # 將回答存入字典 responses[name] = response # 是否還有人要參與調查 repeat = input("World you like to let another person respond?(yes/ no) ") if repeat == "no": polling_active = False # 調查結束,輸出結果 print(" --- Poll Results ---") for name, response in responses.items(): print(name + " world like to climb " + response + ".") # 結果: What is your name? Eric Which mountain would you like to climb someday? Denali World you like to let another person respond?(yes/ no) yes What is your name? Lynn Which mountain would you like to climb someday? Devil"s Thumb World you like to let another person respond?(yes/ no) no --- Poll Results --- Eric world like to climb Denali. Lynn world like to climb Devil"s Thumb.
迎大家關注我的微信公眾號"代碼港" & 個人網站 www.vpointer.net ~
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/41796.html
摘要:是個的一種實現方式,編譯代碼為字節碼,然后由虛擬機執行,這意味著此時程序與程序沒有區別,只是源代碼不一樣。原文鏈接全棧之路系列文章 Python的誕生 Python是著名的龜叔Guido van Rossum(吉多·范羅蘇姆)在1989年圣誕節期間,為了打發無聊的圣誕節而編寫的一個編程語言。 showImg(https://segmentfault.com/img/remote/146...
摘要:本章主要是學習的文件操作,主要是從文件中讀取數據以及將數據存儲到文件中,還有錯誤處理,異常類,模塊等。函數返回一個文件對象,用于接收該對象。異常中使用被稱為異常的特殊對象來管理程序執行期間發生的錯誤。 《Python編程:從入門到實踐》筆記。本章主要是學習Python的文件操作,主要是從文件中讀取數據以及將數據存儲到文件中,還有錯誤處理,異常類,json模塊等。 1. 從文件中讀數據 ...
摘要:名片管理系統新建名片全部名片查詢名片修改名片退出系統功能新建名片輸入返回上一層請輸入姓名姓名長度不符合位以內請輸入姓名請輸入年齡請輸入電話號碼電話號碼長度不符合位請輸入電話號碼請輸入號碼請輸入電子郵箱請輸入所屬公司電話號碼長度不符合位請輸 list1 = [] def show_card(): print(****************************************...
摘要:前言數據模型其實是對框架的描述,它規范了這門語言自身構件模塊的接口,這些模塊包括但不限于序列迭代器函數類和上下文管理器。上述類實現了方法,它可用于需要布爾值的上下文中等。但多虧了它是特殊方法,我們也可以把用于自定義數據類型。 《流暢的Python》筆記。本篇是Python進階篇的開始。本篇主要是對Python特殊方法的概述。 1. 前言 數據模型其實是對Python框架的描述,它規范了...
摘要:基礎之控制結構學習目標代碼塊與縮進條件語句語句語句的嵌套斷言循環循環循環中斷循環控制語句綜合嵌套列表解析式基礎相關鏈接學習目標是簡潔易學面向對象的編程語言。 Py...
閱讀 3686·2021-09-22 15:34
閱讀 1197·2019-08-29 17:25
閱讀 3407·2019-08-29 11:18
閱讀 1381·2019-08-26 17:15
閱讀 1751·2019-08-23 17:19
閱讀 1239·2019-08-23 16:15
閱讀 726·2019-08-23 16:02
閱讀 1345·2019-08-23 15:19