本文主要介紹python中的用戶輸入(python中用戶輸入用的是什么函數(shù)),下面一起看看python中的用戶輸入(python中用戶輸入用的是什么函數(shù))相關(guān)資訊。
python用戶輸入和while循環(huán)目錄python用戶輸入和while循環(huán)1。函數(shù)input的工作原理1。寫一個(gè)清晰的程序2。使用int獲得數(shù)值輸入3。模運(yùn)算符2,while循環(huán)1簡(jiǎn)介。使用while循環(huán)2。讓用戶選擇何時(shí)退出。3.使用旗幟4。使用break退出循環(huán)5。使用continu——顯示給用戶,讓用戶知道該做什么。在這個(gè)例子中,當(dāng)python運(yùn)行第一行代碼時(shí),用戶會(huì)看到提示告訴我一些事情,我會(huì)重復(fù)給you:。程序等待用戶 s輸入,并在用戶按下——可以指示用戶應(yīng)該輸入什么樣的信息,如下所示:通過在提示的末尾加上一個(gè)空格(這里是在冒號(hào)之后),可以將提示與用戶分開 的輸入,這樣用戶可以清楚地知道它的輸入從哪里開始。
有時(shí),提示可能不止一行。例如,您可能需要指出獲得特定輸入的原因。在這種情況下,您可以為變量分配一個(gè)提示,然后將該變量傳遞給函數(shù)input。這樣,即使提示超過一行,input語句也會(huì)非常清晰。這個(gè)例子演示了一種創(chuàng)建多行字符串的方法。第一行將消息的前半部分分配給變量prompt。在第二行中,運(yùn)算符=將一個(gè)字符串追加到先前分配給變量prompt的字符串的末尾。
最后的提示占了兩行,問候語后面有一個(gè)空格,也是為了更清楚:
2.使用int獲取數(shù)字輸入當(dāng)使用函數(shù)input時(shí),python將用戶輸入解釋為字符串??纯聪旅娴慕忉屍鲿?huì)話,其中用戶輸入年齡:用戶輸入數(shù)字21,但是當(dāng)我們請(qǐng)求python提供變量ag——用戶輸入的數(shù)字字符串表示。我們?nèi)绾沃纏ython將輸入解釋為字符串?因?yàn)檫@個(gè)數(shù)字用引號(hào)括起來了。如果只是想打印輸入,完全沒有問題;但是如果您試圖將輸入用作數(shù)字,您將會(huì)得到一個(gè)錯(cuò)誤:當(dāng)您試圖將輸入用于數(shù)字比較時(shí),python將會(huì)得到一個(gè)錯(cuò)誤,因?yàn)樗梢?不要比較一個(gè)字符串和一個(gè)整數(shù):你可以 t比較字符串 28 分配給數(shù)值為18的年齡。如果不解決這個(gè)問題,可以使用函數(shù)int,讓python將輸入視為數(shù)值。函數(shù)int將一個(gè)數(shù)的字符串表示轉(zhuǎn)換為數(shù)值表示,如下圖所示:本例中,在用戶根據(jù)提示輸入28后,python將這個(gè)數(shù)解釋為字符串,但隨后int將這個(gè)字符串轉(zhuǎn)換為數(shù)值表示。python然后可以運(yùn)行條件測(cè)試:將變量age(現(xiàn)在表示值28)與18進(jìn)行比較,看是否大于等于18。測(cè)試 ;的結(jié)果是真實(shí)的。
如何在實(shí)際程序中使用函數(shù)int?請(qǐng)看下面這個(gè)程序,它決定了一個(gè)人是否符合坐過山車的身高要求:在這個(gè)程序中,為什么身高可以和48相提并論?因?yàn)樵诒容^之前,height = int(height)將輸入轉(zhuǎn)換成數(shù)值表示。如果輸入的數(shù)字大于或等于48,則表明用戶符合身高要求:輸入值。在用于計(jì)算和比較之前,必須將其轉(zhuǎn)換為數(shù)值表示。
3.模運(yùn)算符(%)是處理數(shù)字信息時(shí)非常有用的工具。它將兩個(gè)數(shù)相除并返回余數(shù):模運(yùn)算符并不指示一個(gè)數(shù)是另一個(gè)數(shù)的多少倍,而只指示余數(shù)是多少。如果一個(gè)數(shù)能被另一個(gè)數(shù)整除,余數(shù)就是0,所以模運(yùn)算將返回0。這可以用來判斷一個(gè)數(shù)是奇數(shù)還是偶數(shù):偶數(shù)可以被2整除,所以如果一個(gè)數(shù)和2進(jìn)行模運(yùn)算的結(jié)果是0,即數(shù)% 2 == 0,那么這個(gè)數(shù)是偶數(shù);否則就奇怪了。
二、while循環(huán)的引入for循環(huán)用于對(duì)集合中的每個(gè)元素執(zhí)行一個(gè)代碼塊,而while循環(huán)保持運(yùn)行,直到不滿足指定的條件。
1.使用while循環(huán)通過使用while循環(huán)來計(jì)數(shù)。例如,下面的while循環(huán)從1到5計(jì)數(shù):在第一行中,將1賦給變量current_number,從而指定從1開始的數(shù)字。將下一個(gè)while循環(huán)設(shè)置為只要current_number小于或等于5就運(yùn)行。循環(huán)中的代碼打印current_number的值,然后使用代碼current_number = 1(代碼current_number = current_number 1的簡(jiǎn)稱)在其值上加1。只要滿足條件current_number = 5,python就會(huì)繼續(xù)運(yùn)行這個(gè)循環(huán)。因?yàn)?小于5,所以python打印1,并在current_number上加1,使其為2。因?yàn)?小于5,所以python打印出2,并在current_number上加1,使之為3;諸如此類。一旦curr測(cè)試:現(xiàn)在,程序會(huì)在顯示消息之前做一個(gè)簡(jiǎn)單的檢查,只有當(dāng)消息不是退出值時(shí)才打印它:
3.在前面的例子中使用標(biāo)志,我們要求程序在滿足指定條件時(shí)指定一個(gè)特定的任務(wù)。但是在更復(fù)雜的程序中,許多不同的時(shí)間會(huì)導(dǎo)致程序停止運(yùn)行。這種情況下我該怎么辦?比如有很多可能導(dǎo)致游戲結(jié)束的事件,比如玩家損失了所有的船只,時(shí)間用完了,或者要保護(hù)的城市被徹底摧毀。當(dāng)有許多次導(dǎo)致程序結(jié)束時(shí),在一個(gè)whil測(cè)試(是否有應(yīng)該把標(biāo)志設(shè)置為false的事件)放到其他地方,讓程序更干凈。讓 讓我們?cè)谇懊娴牟糠种袨槌绦蛱砑右粋€(gè)標(biāo)志。將它命名為active(可以給它取任何名字),用來判斷程序是否要繼續(xù)運(yùn)行:將變量activ————相關(guān)邏輯由程序其他部分處理。只要變量active為真,循環(huán)就會(huì)繼續(xù)運(yùn)行。在while循環(huán)中,if語句用于在用戶輸入變量message后檢查它的值。如果用戶輸入 退出 變量activ測(cè)試直接放在whil測(cè)試(如elif語句)來檢查是否有其他事件導(dǎo)致activ測(cè)試的結(jié)果。break語句是用來控制程序流程的,可以用來控制哪些行代碼會(huì)被執(zhí)行,哪些行代碼不會(huì)被執(zhí)行,讓程序按照你的要求執(zhí)行你想執(zhí)行的代碼。例如,看一個(gè)讓用戶指出他去過哪里的程序。在這個(gè)程序中,您可以使用break語句在用戶輸入 退出 :以while true開始的循環(huán)將繼續(xù)運(yùn)行,直到遇到break語句。這個(gè)程序中的循環(huán)一直要求用戶輸入他去過的城市的名字,直到用戶輸入 退出 。在用戶輸入 退出 ,將執(zhí)行break語句,導(dǎo)致python退出循環(huán):注意,break語句可以在任何python循環(huán)中使用。例如,可以使用break語句退出遍歷列表或詞典的for循環(huán)。
5.在循環(huán)中使用continu測(cè)試結(jié)果決定是否繼續(xù)執(zhí)行循環(huán),可以使用continue語句,它不會(huì) 不要停止執(zhí)行剩余的代碼,像break語句一樣退出整個(gè)循環(huán)。比如看一個(gè)從1到10計(jì)數(shù)但只打印循環(huán)的循環(huán):首先設(shè)置current_number為0,因?yàn)樾∮?0,python進(jìn)入while循環(huán)。進(jìn)入循環(huán)后,以1為單位向上移動(dòng)。數(shù)數(shù)。因此,current_number為1。接下來,if語句檢查current_number和2的模運(yùn)算結(jié)果。如果結(jié)果為0(意味著current_number可被2整除),則執(zhí)行continu測(cè)試x = 5永遠(yuǎn)為真,導(dǎo)致while循環(huán)無休止地打印1。每個(gè)程序員都會(huì)偶爾因粗心而寫出無限循環(huán),尤其是循環(huán)的退出條件比較微妙的時(shí)候。如果程序陷入無限循環(huán)。您可以按ctrl+c或關(guān)閉顯示程序輸出的終端窗口。為了避免編寫無限循環(huán),請(qǐng)確保測(cè)試每個(gè)while循環(huán),以確保它按預(yù)期結(jié)束。如果希望程序在用戶輸入特定值時(shí)結(jié)束,可以運(yùn)行程序并輸入這樣的值。如果程序在這種情況下沒有結(jié)果,請(qǐng)檢查程序處理該值的,并確保程序中至少有一個(gè)這樣的地方可以使循環(huán)條件為假或允許執(zhí)行break語句。注意:有些編輯器,如sublime text,具有嵌入式輸出窗口,這可能會(huì)導(dǎo)致難以結(jié)束無限循環(huán),并且必須關(guān)閉編輯器。在這種情況下,可以在輸出窗口中單擊鼠標(biāo)并按ctrl+c,這樣應(yīng)該可以結(jié)束無限循環(huán)。
第三,使用while循環(huán)處理列表和字典到目前為止,我們一次只處理一項(xiàng)tong hu信息:get user輸入,然后打印出來或者回復(fù);當(dāng)循環(huán)再次運(yùn)行時(shí),我們將獲得另一個(gè)輸入值并作出響應(yīng)。但是,要記錄大量的用戶和信息,需要在while循環(huán)中使用列表和字典。for循環(huán)是遍歷列表的有效方法,但是不應(yīng)該在for循環(huán)中修改列表,否則會(huì)讓python很難跟蹤其中的元素。要在遍歷列表時(shí)修改它,可以使用while循環(huán)。通過將while循環(huán)與列表和字典相結(jié)合,您可以收集、存儲(chǔ)和組織大量輸入,以便以后查看和顯示。
1.在列表之間移動(dòng)元素假設(shè)有一個(gè)列表包含新注冊(cè)但未經(jīng)驗(yàn)證的網(wǎng)站用戶。驗(yàn)證這些用戶后,如何將他們移到另一個(gè)已驗(yàn)證用戶列表中?一種方法是在對(duì)用戶進(jìn)行身份驗(yàn)證時(shí),使用while循環(huán)從未經(jīng)身份驗(yàn)證的用戶列表中提取用戶。出來,然后將其添加到另一個(gè)已驗(yàn)證的用戶列表中。代碼可能如下所示:首先,創(chuàng)建一個(gè)未經(jīng)身份驗(yàn)證的用戶列表。它包含用戶張三、李四和吳王,還創(chuàng)建了一個(gè)空列表。用于存儲(chǔ)經(jīng)過身份驗(yàn)證的用戶。那么while循環(huán)將一直運(yùn)行,直到列表unconfirmed_users變?yōu)榭铡T谶@個(gè)循環(huán)中,pop方法從unconfirmed_users列表的末尾一次刪除一個(gè)未經(jīng)身份驗(yàn)證的用戶。由于吳王位于未確認(rèn)列表的末尾,其名稱將首先被刪除,分配給變量current_user并添加到確認(rèn)用戶列表中。接下來是李四,然后是張三。為了模擬用戶認(rèn)證過程,我們打印一個(gè)驗(yàn)證,并將用戶添加到認(rèn)證用戶列表中。未驗(yàn)證用戶的列表越來越短,而已驗(yàn)證用戶的列表越來越長(zhǎng)。要在驗(yàn)證用戶列表為空后結(jié)束循環(huán),然后打印已驗(yàn)證的用戶列表:
2.在刪除所有具有特定值的列表元素之前,我們使用函數(shù)remove刪除列表中的特定值。這是可能的,因?yàn)橐獎(jiǎng)h除的值在列表中只出現(xiàn)一次。如果我想刪除列表中所有具有特定值的元素,應(yīng)該怎么做?假設(shè)您有一個(gè)寵物列表,其中包含多個(gè)值為 貓和貓。;。要?jiǎng)h除所有這些元素,可以運(yùn)行while循環(huán),直到列表中不再包含值 貓和貓。;,如下所示:首先,創(chuàng)建一個(gè)包含值為 貓和貓。;。打印完這個(gè)列表后,python進(jìn)入了一個(gè)while循環(huán),因?yàn)樗l(fā)現(xiàn) 貓和貓。;至少在列表中出現(xiàn)一次。進(jìn)入循環(huán)后,python刪除了第一個(gè) 貓和貓。;并返回while代碼行,然后發(fā)現(xiàn)第二個(gè) 貓和貓。;仍然包含在列表中,所以它再次進(jìn)入循環(huán)。它一直在刪除 貓和貓。;直到它知道這個(gè)值不再包含在列表中,然后退出循環(huán)并再次打印列表:
3.用用戶輸入填充字典。您可以使用while循環(huán)來提示用戶輸入盡可能多的信息。讓 創(chuàng)建一個(gè)調(diào)查程序,在這個(gè)程序中,循環(huán)提示回答者 每次執(zhí)行時(shí)的名稱和答案。我們將手機(jī)的數(shù)據(jù)存儲(chǔ)在一個(gè)字典中,以便將答案與回答者關(guān)聯(lián)起來:這個(gè)程序首先定義一個(gè)空字典(responses),并設(shè)置一個(gè)標(biāo)志(polling_active)來指示調(diào)查是否繼續(xù)。只要polling_active為true,python就會(huì)在whilr循環(huán)中運(yùn)行代碼。在這個(gè)循環(huán)中,用戶被提示輸入他的名字和他喜歡爬哪座山。將這些信息存儲(chǔ)在字典響應(yīng)中,然后詢問用戶是否繼續(xù)調(diào)查。如果用戶輸入yes,程序?qū)⒃俅屋斎雡hil。e周期;如果用戶輸入no,標(biāo)志polling_active將被設(shè)置為false,while循環(huán)將結(jié)束。最后一個(gè)代碼塊顯示了調(diào)查結(jié)果。如果您運(yùn)行此程序并輸入一些名稱和答案,輸出將類似于以下內(nèi)容:
標(biāo)簽:
用戶程序
了解更多python中的用戶輸入(python中用戶輸入用的是什么函數(shù))相關(guān)內(nèi)容請(qǐng)關(guān)注本站點(diǎn)。