欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python中用戶(hù)輸入與while循環(huán)詳情

 更新時(shí)間:2022年03月28日 09:02:13   作者:西岸賢  
這篇文章主要介紹了Python中用戶(hù)輸入與while循環(huán)詳情,,包括如何接收用戶(hù)輸入并進(jìn)行處理,在程序滿(mǎn)足一定的條件時(shí)讓程序一直運(yùn)行,通過(guò)獲取用戶(hù)輸入并學(xué)會(huì)控制程序在用戶(hù)想要結(jié)束時(shí)退出循環(huán),即可編寫(xiě)出交互式程序,下文詳細(xì)內(nèi)容介紹,需要的朋友可以參考一下

前言:

本文的主要內(nèi)容是介紹Python中用戶(hù)輸入與while循環(huán),包括如何接收用戶(hù)輸入并進(jìn)行處理,在程序滿(mǎn)足一定的條件時(shí)讓程序一直運(yùn)行,通過(guò)獲取用戶(hù)輸入并學(xué)會(huì)控制程序在用戶(hù)想要結(jié)束時(shí)退出循環(huán),即可編寫(xiě)出交互式程序,文中附有代碼以及相應(yīng)的運(yùn)行結(jié)果輔助理解。

一、用戶(hù)輸入

input() ——函數(shù)input()讓程序暫時(shí)停止運(yùn)行并等待用戶(hù)輸入內(nèi)容,在獲取到用戶(hù)的輸入后,Python會(huì)將輸入存儲(chǔ)在一個(gè)變量中,以便后續(xù)使用。

1.輸入字符串

先來(lái)看一個(gè)簡(jiǎn)單的用戶(hù)輸入例子。

msg = input('Please input a string: ') #引號(hào)中的內(nèi)容應(yīng)當(dāng)向說(shuō)明需要用戶(hù)提供什么樣的信息
#如果引號(hào)中的提示內(nèi)容有多行,可以加入'\n'來(lái)?yè)Q行
print('The message you just input is "' + msg + '".')

運(yùn)行結(jié)果如下圖所示:

程序運(yùn)行后出現(xiàn)“Please input a string:”提示用戶(hù)輸入一個(gè)字符串,用戶(hù)輸入完字符串后按回車(chē)鍵程序繼續(xù)運(yùn)行,用戶(hù)輸入的字符串存儲(chǔ)在變量msg中,通過(guò)打印msg即可看到用戶(hù)輸入的內(nèi)容。

2.使用函數(shù)int()獲取數(shù)值輸入

有時(shí)候我們需要用戶(hù)輸入數(shù)值,但是使用函數(shù)input()時(shí),Python將用戶(hù)輸入全部解讀為字符串,即使你輸入的是數(shù)值,這時(shí)候就需要用到函數(shù)int()了。
int() ——函數(shù)int()的功能是將輸入的數(shù)字字符串轉(zhuǎn)換為數(shù)值。
通過(guò)函數(shù)int()處理過(guò)的用戶(hù)輸入就可以當(dāng)做數(shù)值來(lái)使用了。
下面是使用函數(shù)int()獲取數(shù)值輸入的例子。

age = input('Please input your age: ')
age_integer = int(age) ?#將數(shù)字字符串轉(zhuǎn)換為數(shù)值

if age_integer >= 18:
? ? print('Your age is over 18.')
else:
? ? print('Your age is under 18.')

運(yùn)行結(jié)果如下圖所示:

3.求模運(yùn)算符的應(yīng)用

求模運(yùn)算符 % 在編程中經(jīng)常使用,它用來(lái)返回兩個(gè)數(shù)相除的余數(shù),如果余數(shù)為0,即可以整除,通過(guò)將用戶(hù)輸入的數(shù)與2求模即可判斷用戶(hù)輸入的數(shù)是奇數(shù)還是偶數(shù)。

下面是使用求模運(yùn)算判斷輸入為奇數(shù)還是偶數(shù)的例子

num = input('Please input a number: ')
number = int(num)
print('The number you just input is ' + num + '.')

if number%2 == 0: #可以整除2,是偶數(shù)
? ? print('It is an even number.')
else: ?#不可以整除2,是奇數(shù)
? ? print('It is an odd number.')

運(yùn)行結(jié)果如下圖所示:

二、while循環(huán)

之前已經(jīng)介紹過(guò)了for循環(huán),其一般用于集合中的每個(gè)元素,而while循環(huán)不斷地運(yùn)行,直到指定的條件不滿(mǎn)足為止。

1.簡(jiǎn)單的while循環(huán)

下面是一個(gè)簡(jiǎn)單的while循環(huán)的例子:

num = 1
while num <= 5:
? ? print(num)
? ? num += 1 ? #不能使用num ++,一定要有這個(gè)條件,否則會(huì)進(jìn)入無(wú)限循環(huán)

運(yùn)行結(jié)果如下圖所示:

由上面的輸出結(jié)果可知,在條件滿(mǎn)足時(shí),while循環(huán)一直在執(zhí)行,當(dāng)條件不滿(mǎn)足時(shí),就會(huì)退出while循環(huán)。

2.通過(guò)用戶(hù)輸入退出while循環(huán)

有時(shí)候我們需要讓用戶(hù)決定何時(shí)退出循環(huán),可以設(shè)置一個(gè)字母或者字符串作為while循環(huán)結(jié)束的標(biāo)志,當(dāng)用戶(hù)輸入這個(gè)字母或者字符串時(shí),就退出while循環(huán)。

下面是通過(guò)用戶(hù)輸入退出while循環(huán)的例子:

msg = ''
while msg != 'q': ?#用戶(hù)輸入q時(shí)就退出循環(huán)
? ? msg = input("Enter 'q' to end the program.\nPlease input a string: ")
? ? if msg != 'q': #用戶(hù)輸入非q時(shí)打印用戶(hù)輸入信息
? ? ? ? print('The message you just input is "' + msg + '".')

運(yùn)行結(jié)果如下圖所示:

由輸出結(jié)果可知,用戶(hù)可以控制while循環(huán)何時(shí)退出并結(jié)束程序。

3.使用標(biāo)志

在程序運(yùn)行的過(guò)程中,有很多的因素可以導(dǎo)致程序停止運(yùn)行,導(dǎo)致程序結(jié)束的事件有很多時(shí),如果在一條while語(yǔ)句中檢查所有這些條件,將既復(fù)雜又困難。
在很多條件都滿(mǎn)足時(shí)才繼續(xù)運(yùn)行的程序中,可定義一個(gè)變量用于判斷整個(gè)程序是否處于活動(dòng)狀態(tài),這個(gè)變量就被稱(chēng)為標(biāo)志,可讓程序在標(biāo)志為T(mén)rue時(shí)繼續(xù)運(yùn)行,并在任何事件導(dǎo)致標(biāo)志的值為False時(shí)讓程序停止運(yùn)行,這樣,在while循環(huán)語(yǔ)句中就只需檢查當(dāng)前的標(biāo)志是否為T(mén)rue這一個(gè)條件,從而讓程序變得更為簡(jiǎn)單易讀。

面是使用標(biāo)志控制while循環(huán)的例子:

sign = True
while sign: ?#標(biāo)志為T(mén)rue時(shí)執(zhí)行循環(huán)
? ? msg = input("Enter 'q' to end the program.\nPlease input a string: ")
? ??
? ? if msg != 'q': #用戶(hù)輸入非q時(shí)打印用戶(hù)輸入信息
? ? ? ? print('The message you just input is "' + msg + '".')
? ? else: ? #用戶(hù)輸入q時(shí)修改標(biāo)志使其退出循環(huán)
? ? ? ? sign = False ?#將標(biāo)志置為False結(jié)束while循環(huán)

運(yùn)行結(jié)果如下圖所示:

這段代碼的功能與通過(guò)用戶(hù)輸入退出while循環(huán)中的代碼功能相同,雖然這個(gè)例子還看不出該段代碼的優(yōu)越性,但是當(dāng)限制while循環(huán)的條件多起來(lái)之后,這段代碼相較于上一段代碼的優(yōu)勢(shì)就體現(xiàn)出來(lái)了。

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

要立即退出while循環(huán),不再運(yùn)行循環(huán)中余下的代碼,也不管條件測(cè)試的結(jié)果如何,可使用break語(yǔ)句。break語(yǔ)句用于控制程序流程,可使用它來(lái)控制哪些代碼行將執(zhí)行,哪些代碼行不執(zhí)行,從而讓程序按自己的要求執(zhí)行相應(yīng)的代碼。

下面是使用break退出循環(huán)的例子:

while True: ?#執(zhí)行循環(huán)
? ? msg = input("Enter 'q' to end the program.\nPlease input a string: ")
? ??
? ? if msg != 'q': #用戶(hù)輸入非q時(shí)打印用戶(hù)輸入信息
? ? ? ? print('The message you just input is "' + msg + '".')
? ? else: ? ? #用戶(hù)輸入q時(shí)退出循環(huán)
? ? ? ? break #退出循環(huán)

運(yùn)行結(jié)果如下圖所示:

在本例中,while循環(huán)一直執(zhí)行,除非遇到break語(yǔ)句才能退出循環(huán)。

5.在循環(huán)中使用continue

continue語(yǔ)句的作用是忽略本次循環(huán)中continue后面的代碼并返回到循環(huán)開(kāi)頭,如果條件滿(mǎn)足則繼續(xù)執(zhí)行循環(huán),否則結(jié)束循環(huán)。

下面是在循環(huán)中使用continue的例子:

num = 1
print('1-10之內(nèi)的偶數(shù):')
while num <= 10:
? ? num += 1
? ??
? ? if num % 2 != 0:
? ? ? ? continue ? #奇數(shù)就跳過(guò)打印,偶數(shù)就執(zhí)行打印
? ? print(num)

運(yùn)行結(jié)果如下圖所示:

三、使用while循環(huán)處理列表和字典

要記錄大量的信息,需要在while循環(huán)中使用列表和字典。for循環(huán)是一種遍歷列表的有效方式,但在for循環(huán)中不應(yīng)修改列表,否則將導(dǎo)致Python難以跟蹤其中的元素,要在遍歷列表的同時(shí)對(duì)其進(jìn)行修改,可使用while循環(huán)。

1.在列表之間移動(dòng)元素

有時(shí)候我們需要將列表中的元素操作一個(gè),然后加入到另一個(gè)列表中。

下面是在列表之間移動(dòng)元素的例子:

list_1 = ['abc', 'def', 'ghi']
list_2 = []
while list_1: #列表非空時(shí)一直循環(huán)
? ? element = list_1.pop()
? ? print(element + ' has popped.')
? ??
? ? list_2.append(element)
? ??
print('與原列表逆序輸出:')
for element in list_2:
? ? print(element)
? ??
print('與原列表順序輸出:')
length = 1
while length <= len(list_2):
? ? print(list_2[-length])
? ? length += 1

運(yùn)行結(jié)果如下圖所示:

2.刪除列表中所有的特定元素

使用函數(shù)remove()即可刪除列表中的特定值,如果列表中的特定值有多個(gè)相同的話(huà),就要用到while循環(huán)來(lái)刪除了。

下面是刪除列表中所有的特定元素的例子:

fruits = ['grape', 'apple', 'watermelon', 'apple', 'orange', 'apple']
print('Before remove:\nfruits = '+str(fruits))

while 'apple' in fruits:
? ? fruits.remove('apple') ?#刪除列表中所有的'apple'元素
print('After remove:\nfruits = '+str(fruits))

運(yùn)行結(jié)果如下圖所示:

3.使用用戶(hù)輸入來(lái)填充字典

可以使用while循環(huán)提示用戶(hù)輸入任意數(shù)量的信息,根據(jù)這些信息可以創(chuàng)建相應(yīng)的用戶(hù)字典。

下面是使用用戶(hù)輸入來(lái)填充字典的例子:

user_info = {} ?#創(chuàng)建一個(gè)空字典
sign = True ?#標(biāo)志位置為T(mén)rue
while sign:
? ? name = input("Please input your name: ")
? ? favorite_color = input("Please input your favorite color: ")
? ??
? ? user_info[name] = favorite_color ?#在字典中添加鍵值對(duì)
? ??
? ? y_or_n = input("Enter 'n' to end, and other keys to continue.") #詢(xún)問(wèn)用戶(hù)是否繼續(xù)
? ? if y_or_n == 'n':
? ? ? ? sign = False ?#標(biāo)志位置為False并退出循環(huán)
? ? ? ??
print('user_info = '+str(user_info)) ?#打印字典

print("Information summary:") ?#信息匯總輸出
for name, favorite_color in user_info.items(): ?#遍歷字典
? ? print(name + "'s favorite color is " ?+ favorite_color + '.')

運(yùn)行結(jié)果如下圖所示:

總結(jié):

以上就是Python中用戶(hù)輸入與while循環(huán)的所有內(nèi)容了,用戶(hù)輸入在編程中是非常重要的,因?yàn)槌绦蚪换バ缘那疤峋褪谦@取用戶(hù)輸入并給予響應(yīng),此外,while循環(huán)中標(biāo)志、break以及continue的使用場(chǎng)景也應(yīng)當(dāng)熟悉。

到此這篇關(guān)于Python中用戶(hù)輸入與while循環(huán)詳情的文章就介紹到這了,更多相關(guān)Python 輸入與while循環(huán)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論