日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

Python 用戶輸入和while循環(huán)的操作

瀏覽:33日期:2022-06-18 16:26:42
函數(shù)input()的工作原理

函數(shù)input()讓程序暫停運(yùn)行,等待用戶輸入一些文本。獲取用戶輸入后,Python將其存儲在一個變量中,以方便使用。

prompt='if you tell us who you are , we can personlize the message you see.'prompt+='nWhat is your first name?'name=input(prompt)print('nHello, '+name+'!')if you tell us who you are , we can personlize the message you see.What is your first name?EricHello, Eric!

這個示例演示了一種創(chuàng)建多行字符串的方式。第1行將消息的前半部分存儲在變量prompt中;在第2行中,運(yùn)算符+=在存儲在prompt中的字符串末尾附加一個字符串。

While循環(huán)簡介

for循環(huán)用于針對集合中的每一個元素都一個代碼塊,而while循環(huán)不斷的運(yùn)行,直到指定的條件不滿足為止。

使用while循環(huán)

current_number=1while current_number<=5: print(current_number) current_number+=112345

在第一行,我們將current_number設(shè)置為1,從而指定從1開始數(shù)。接下來的while循環(huán)被設(shè)置成這樣:只要current_number小雨或等于5,就接著運(yùn)行這個循環(huán)。循環(huán)中代碼打印current_number的值,在使用current_number+=1(current_number=current_number+1)將其值加1。

只要滿足條件current_number<=5,python就接著運(yùn)行這個程序。

讓用戶選擇何時退出

可用while循環(huán)讓程序在用戶愿意時不斷地運(yùn)行。

prompt='nTell me something,and I will repeat it back to you:'prompt+='nEnter ’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.hihiTell me something,and I will repeat it back to you:Enter ’quit’ to end the program.quit

我們定義了一條提示消息,告訴用戶他有兩個選擇:要么輸入一條消息,要么輸入退出值。接下來,我們創(chuàng)建了一個變量——message,用于存儲用戶輸入的值。我們將變量message的初始值設(shè)置為空字符串“”,讓Python首次執(zhí)行while代碼行時有可供檢查的東西。Python首次執(zhí)行while語句時,需要將message的值與quit進(jìn)行比較,但此時用戶還沒有輸入。如果沒有可供比較的東西,Python將無法運(yùn)行程序。為解決這個問題,我們必須給變量message指定一個初始值。雖然這個初始值只是一個空字符串,但符合要求,讓Python能夠執(zhí)行循環(huán)while所需的東西。只要循環(huán)不是‘quit’,這個循環(huán)就會不斷運(yùn)行。

使用標(biāo)志

在前一個示例中,我們讓程序在滿足指定條件時就執(zhí)行特定的任務(wù)。但在更復(fù)雜的程序中,很多不同的事件都會導(dǎo)致程序停止運(yùn)行;在這種情況下,該怎么辦呢?

在要求很多條件都滿足才繼續(xù)運(yùn)行的程序中,可定義一個變量,用于判斷整個程序是否處于活動狀態(tài)。這個變量被稱為標(biāo)志,充當(dāng)了程序的交通信號燈。你可讓程序在標(biāo)志為true時繼續(xù)運(yùn)行,并在任何事件導(dǎo)致標(biāo)志的值為False時讓程序停止運(yùn)行。這樣,在while語句中,就只需檢查一個條件——標(biāo)志的當(dāng)前值是否為true,并將所有測試都放在其它地方,從而讓程序變得更簡潔。

prompt='nTell me something,and I will repeat it back to you:'prompt+='nEnter ’quit’ to end the program.'active=Truewhile active: message=input(prompt) if message==’quit’:active=False else:print(message)Tell me something,and I will repeat it back to you:Enter ’quit’ to end the program.yesyesTell me something,and I will repeat it back to you:Enter ’quit’ to end the program.quit

我們將變量設(shè)置為true,讓程序處于活躍狀態(tài)。這樣簡化了while語句,因?yàn)椴恍枰谄渲凶鋈魏伪容^——相關(guān)的邏輯由程序的其他部分處理。只要變量active為true,循環(huán)就繼續(xù)這樣運(yùn)行。

在while循環(huán)中,我們在用戶輸入后使用一條if語句來檢查變量message的值。如果用戶輸入的是‘quit’,我們就將變量active設(shè)置為False,這將導(dǎo)致while循環(huán)不再繼續(xù)下去。如果用戶輸入的不是‘quit’,我們就輸入作為一條消息打印出來。

使用break退出循環(huán)

要立即退出循環(huán),不再運(yùn)行循環(huán)中余下的代碼,也不管測試條件如何,可是用break語句。

prompt='nTell me something,and I will repeat it back to you:'prompt+='nEnter ’quit’ to end the program.'while True: message=input(prompt) if message==’quit’:break else:print(message)在循環(huán)中使用continue

要返回到循環(huán)開頭,并根據(jù)測試條件測試結(jié)果決定是否繼續(xù)執(zhí)行循環(huán),可使用continue語句,它不像break語句那樣不在執(zhí)行余下的代碼并退出整個循環(huán)。

current_number=0while current_number<10: current_number+=1 if current_number %2==0:continue print(current_number)13579

我們首先將current_number設(shè)置成了0,由于它小于10,Python進(jìn)入while循環(huán)。進(jìn)入循環(huán)后,以步長為1的方式往上數(shù),因此current_number為1。接下來,if語句檢查current_number與2的求模運(yùn)算結(jié)果。結(jié)果為0,就執(zhí)行continue語句,讓Python忽略余下的代碼,并返回循環(huán)的開頭。如果當(dāng)前的數(shù)字不能被2整除,就執(zhí)行循環(huán)中余下的代碼,Python將這個數(shù)字打印出來。

在列表之間移動元素

假設(shè)有一個列表,其中包含新注冊但還未驗(yàn)證的網(wǎng)站用戶;驗(yàn)證這些用戶后,如何將他們移動到另一個已驗(yàn)證的用戶列表中呢?一種辦法是使用一個while循環(huán),在驗(yàn)證用戶的同時將其從未驗(yàn)證用戶列表中提取出來,再將其加入到另一個已驗(yàn)證用戶列表中。代碼可能類似于下面這樣:

# 首先,創(chuàng)建一個待驗(yàn)證用戶列表#和一個用于存儲已驗(yàn)證用戶的空列表unconfirmed_users=[’alice’,’brian’,’candace’]confirmed_users=[]#驗(yàn)證每個用戶,知道沒有未驗(yàn)證用戶為止#將每個經(jīng)過驗(yàn)證的列表都移到已驗(yàn)證用戶列表中while unconfirmed_users: current_user=unconfirmed_users.pop() print('Verifying user: '+current_user.title()) confirmed_users.append(current_user)#顯示所有已驗(yàn)證的用戶print('nThe following users have been confirmed:')for confirmed_user in confirmed_users: print(confirmed_user.title())Verifying user: CandaceVerifying user: BrianVerifying user: AliceThe following users have been confirmed:CandaceBrianAlice

我們首先創(chuàng)建了一個未驗(yàn)證用戶列表,其中包含Alice、Brain、和Candace,還創(chuàng)建了一個空列表,用于存儲以驗(yàn)證的用戶。While循環(huán)不斷的運(yùn)行,直到列表unconfirmed_users變成空的。在這個循環(huán)中,函數(shù)pop()以每次一個的方式從列表unconfirmed_user末尾刪除未驗(yàn)證的用戶。由于Candace位于列表unconfirmed_users末尾,因此名字將首先被刪除、存儲到變量current_user中并加入到列表confirmed_users中。

為模擬用戶驗(yàn)證過程,我們打印一條驗(yàn)證消息并將用戶加入到已驗(yàn)證用戶列表中。未驗(yàn)證用戶列表越來越短,已驗(yàn)證用戶列表越來越長。未驗(yàn)證列表為空后結(jié)束循環(huán),再打印已驗(yàn)證列表。

刪除包含特定值的所有列表元素

前面我們使用remove()來刪除列表中的特定元素,這之所以可行,是因?yàn)橐獎h除的值在列表中只出現(xiàn)了一次。如果要刪除列表中所有包含特定值的元素,該怎么辦呢?

假設(shè)你有一個寵物列表,其中包含多個值為‘cat’的元素。要刪除所有這些元素,可不斷運(yùn)行一個while循環(huán),直到列表中不再包含值‘cat’.

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’]使用用戶輸入來填充字典

可使用while循環(huán)提示用戶輸入任意數(shù)量的信息。

responses={}#設(shè)置一個標(biāo)志,指出調(diào)查是否繼續(xù)polling_active=Truewhile polling_active: #提示輸入被調(diào)查者的名字和回答 name=input('nWhat is your name?') response=input('which mountain would you like to climb someday?') #將答案存儲在字典中 responses[name]=response #看看是否還有人要參與調(diào)查 repeat=input('Would you like to let another person respond?(yes/no)') if repeat==’no’:polling_active=False #調(diào)查結(jié)束,顯示結(jié)果print('n---Poll Results---')for name,response in responses.items(): print(name+' would like to climb '+response+'.')What is your name?hiwhich mountain would you like to climb someday?koWould you like to let another person respond?(yes/no)yesWhat is your name?jiwhich mountain would you like to climb someday?kpWould you like to let another person respond?(yes/no)no---Poll Results---hi would like to climb ko.ji would like to climb kp.

這個程序首先定義了一個空字典,并設(shè)置了一個標(biāo)志,用于指出調(diào)查是否繼續(xù)。只要polling_active為True,Python就運(yùn)行while循環(huán)中的代碼。

在這個循環(huán)中,提示用戶輸入其用戶名及其爬那座山。將這些信息存儲在字典response中,然后詢問用戶調(diào)查是否繼續(xù)。如果用戶輸入yes,程序?qū)⒃俅芜M(jìn)入while循環(huán);如果用戶輸入no,標(biāo)志polling_active將被設(shè)置為False,而while循環(huán)就此結(jié)束。

補(bǔ)充:python學(xué)習(xí)筆記——循環(huán)退出的幾種方式

在這里主要討論的是while循環(huán),for循環(huán)通過迭代對象退出。

由于while循環(huán)通常不知道循環(huán)的次數(shù),所以對于while循環(huán),它的幾種應(yīng)用場景導(dǎo)致退出條件設(shè)置的不同。

一、讓用戶選擇何時退出:定義退出變量

可使用while循環(huán)讓程序在用戶在愿意的時不斷運(yùn)行,在其中定義一個退出值,只要用戶輸入的不是這個,程序就接著運(yùn)行。

我們小時候玩游戲的經(jīng)常會遇到,當(dāng)人物死亡的時候,界面會跳出 重新開始游戲or結(jié)束游戲,結(jié)束游戲就相當(dāng)于我們設(shè)置的退出值。

形式如下:

active = True while active: message = input() if message =='quit':active = False else:print(message)

1、active是我們開始就定義的一個while觸發(fā)器

2、message定義用戶輸入字符

3、quit是退出條件,若用戶輸入quit,則active轉(zhuǎn)換屬性,下次循環(huán)退出。

二、用break退出:當(dāng)明確遇到某些條件即退出時使用

當(dāng)程序執(zhí)行到break,不管后面直接退出循環(huán)(而不是if-else模塊)。

break主要用于控制if-else語句,可使用ta來控制哪些代碼將執(zhí)行,哪些代碼不執(zhí)行。

prompt = '請輸入你曾去過的城市名字(當(dāng)你不想玩的時候輸入’quit’退出程序)'while True: if city == ’quit’:break else:print('i’d love to go to'+’city.title()’)三、在循環(huán)中使用continue:當(dāng)循環(huán)中需要跳過一些值時使用

當(dāng)程序執(zhí)行到continue,直接跳出本次循環(huán),進(jìn)入下一次循環(huán)。

例:從1到10,如果是奇數(shù)則輸出,偶數(shù)則跳過

chuzhi = 0while chuzhi !=10: chuzhi += 1 if chuzhi%2 ==0:continue else:print(chuzhi)

在遇到continue的時候后面的else不看直接進(jìn)入下一次while。

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Python 編程
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
免播放器亚洲| 福利一区二区三区视频在线观看| 国产极品嫩模在线观看91精品| 久久国产精品亚洲77777| 亚洲二区在线| 日韩专区精品| 青青青免费在线视频| 精品欧美视频| 久久97视频| 久久影院资源站| 久久国产精品美女| 国产精品4hu.www| 国产欧美日韩在线一区二区 | 伊人久久亚洲美女图片| 天堂日韩电影| 久久精品官网| 婷婷久久一区| 亚洲黄色影院| 鲁大师影院一区二区三区| 日韩精品一二三四| 视频精品一区| 国产伦乱精品| 精品国产美女a久久9999| 精品亚洲成人| 国产一区国产二区国产三区| 精品久久久网| 日韩欧美不卡| 99久久婷婷| 国产精品视区| 亚洲综合专区| 国产精品一区二区三区美女| 久久91视频| 久久在线电影| 免费高清在线一区| 欧美视频久久| 国产一区二区三区黄网站| 麻豆视频在线观看免费网站黄| 久久精品一区二区不卡| 99国产精品久久久久久久| 免费看黄色91| 欧美黄色精品| 激情视频网站在线播放色| 日韩毛片在线| 亚洲一区二区动漫| 日韩精品高清不卡| 欧美a在线观看| 视频福利一区| 免费视频一区二区| 国产精品mm| 久久九九精品| 亚欧洲精品视频在线观看| 精品亚洲精品| 在线综合亚洲| 国产精品传媒麻豆hd| av资源新版天堂在线| 亚洲黄页一区| 欧美一级网址| 久久久久网站| 日韩高清二区| 日韩欧美精品| 蜜桃伊人久久| 精品国产91| 美女尤物久久精品| 国产不卡av一区二区| 国产亚洲精品自拍| 欧美国产专区| 国产亚洲高清视频| 精品国产一级| 久久国产66| 久久精品一本| 日韩专区一卡二卡| 麻豆精品少妇| 视频一区二区三区入口| 福利一区和二区| 色综合视频一区二区三区日韩 | 国产91久久精品一区二区| 亚洲人成网77777色在线播放| 国产91欧美| 亚洲精品国模| 久久久精品久久久久久96 | 蜜乳av另类精品一区二区| 成人午夜网址| 亚洲精选av| 成人福利av| 国产日韩一区二区三区在线| 91成人精品视频| 久久天堂影院| 日韩激情啪啪| 欧洲激情综合| 成人在线超碰| 97久久中文字幕| 亚洲一区二区免费看| 裤袜国产欧美精品一区| 91成人福利| 天堂va蜜桃一区二区三区| 黄色在线观看www| 欧美日韩99| 免费观看在线综合| 日韩精品免费一区二区三区| 国产欧美一区二区三区国产幕精品 | 四虎成人精品一区二区免费网站| 久久久久91| 精品国产三区在线| 97久久超碰| 亚洲视频二区| 日韩欧美一区二区三区在线观看 | 国产精品日本一区二区三区在线| 欧美专区18| 国产99久久久国产精品成人免费| 久久精品国产999大香线蕉| 日韩精品91亚洲二区在线观看| 黄色欧美日韩| 亚洲网站视频| 亚洲爱爱视频| 精品欠久久久中文字幕加勒比| 青青草视频一区| 日韩在线观看中文字幕| 欧美专区一区二区三区| 不卡视频在线| 成人久久一区| 国产传媒在线观看| 国产一区二区久久久久| 久久99影视| 国产激情久久| 国产麻豆精品久久| 欧美激情日韩| 你懂的亚洲视频| 精品一区二区三区亚洲| 麻豆久久久久久久| 美女视频一区在线观看| 久久av免费看| 国产精品巨作av| 欧美日本不卡高清| 国产精久久一区二区| 精品亚洲精品| 日本欧美不卡| 红桃视频欧美| 亚洲精品麻豆| 国产欧美高清视频在线| 国产精品99精品一区二区三区∴| 麻豆91在线播放| 国产福利片在线观看| 成人在线网站| 久久久精品网| 亚洲爱爱视频| 女主播福利一区| 欧美/亚洲一区| 亚洲精品888| av不卡在线看| 国产精品久久观看| 蜜桃视频在线网站| 在线亚洲人成| 日韩激情一区| 久久久久国产精品一区二区| 亚洲深夜影院| 日韩精品一区第一页| 在线观看亚洲精品福利片| 亚洲激情av| 天堂精品久久久久| 亚洲另类黄色| 97se亚洲| 亚洲深深色噜噜狠狠爱网站 | 精品中文字幕一区二区三区四区| 国产精品亚洲二区| 欧美激情综合| 亚洲美女久久精品| 老牛影视一区二区三区| 免费人成精品欧美精品| 视频一区日韩| 国产日本亚洲| 国产午夜精品一区在线观看| 国产欧美日韩亚洲一区二区三区| 久久影院资源站| a日韩av网址| 一区在线免费| 男女激情视频一区| 日韩激情精品| 日韩黄色大片| 尤物网精品视频| 日韩在线网址| 老司机免费视频一区二区三区| 久久av免费| 国产精品普通话对白| 日韩欧美激情| 国际精品欧美精品| 伊伊综合在线| 亚洲免费专区| 麻豆91精品视频| 亚洲国产影院| 日韩高清一区二区| 日韩av在线播放网址| 亚洲午夜一级| 久久亚洲欧洲| 福利在线免费视频| 在线视频精品| 欧美日一区二区在线观看| 给我免费播放日韩视频| 免费成人性网站| 欧美1区二区| 久久夜夜操妹子|