日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

Python中用戶輸入與while循環詳情_python

作者:西岸賢 ? 更新時間: 2022-05-31 編程語言

前言:

本文的主要內容是介紹Python中用戶輸入與while循環,包括如何接收用戶輸入并進行處理,在程序滿足一定的條件時讓程序一直運行,通過獲取用戶輸入并學會控制程序在用戶想要結束時退出循環,即可編寫出交互式程序,文中附有代碼以及相應的運行結果輔助理解。

一、用戶輸入

input() ——函數input()讓程序暫時停止運行并等待用戶輸入內容,在獲取到用戶的輸入后,Python會將輸入存儲在一個變量中,以便后續使用。

1.輸入字符串

先來看一個簡單的用戶輸入例子。

msg = input('Please input a string: ') #引號中的內容應當向說明需要用戶提供什么樣的信息
#如果引號中的提示內容有多行,可以加入'\n'來換行
print('The message you just input is "' + msg + '".')

運行結果如下圖所示:

程序運行后出現“Please input a string:”提示用戶輸入一個字符串,用戶輸入完字符串后按回車鍵程序繼續運行,用戶輸入的字符串存儲在變量msg中,通過打印msg即可看到用戶輸入的內容。

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

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

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

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

運行結果如下圖所示:

3.求模運算符的應用

求模運算符 % 在編程中經常使用,它用來返回兩個數相除的余數,如果余數為0,即可以整除,通過將用戶輸入的數與2求模即可判斷用戶輸入的數是奇數還是偶數。

下面是使用求模運算判斷輸入為奇數還是偶數的例子

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

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

運行結果如下圖所示:

二、while循環

之前已經介紹過了for循環,其一般用于集合中的每個元素,而while循環不斷地運行,直到指定的條件不滿足為止。

1.簡單的while循環

下面是一個簡單的while循環的例子:

num = 1
while num <= 5:
? ? print(num)
? ? num += 1 ? #不能使用num ++,一定要有這個條件,否則會進入無限循環

運行結果如下圖所示:

由上面的輸出結果可知,在條件滿足時,while循環一直在執行,當條件不滿足時,就會退出while循環。

2.通過用戶輸入退出while循環

有時候我們需要讓用戶決定何時退出循環,可以設置一個字母或者字符串作為while循環結束的標志,當用戶輸入這個字母或者字符串時,就退出while循環。

下面是通過用戶輸入退出while循環的例子:

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

運行結果如下圖所示:

由輸出結果可知,用戶可以控制while循環何時退出并結束程序。

3.使用標志

在程序運行的過程中,有很多的因素可以導致程序停止運行,導致程序結束的事件有很多時,如果在一條while語句中檢查所有這些條件,將既復雜又困難。
在很多條件都滿足時才繼續運行的程序中,可定義一個變量用于判斷整個程序是否處于活動狀態,這個變量就被稱為標志,可讓程序在標志為True時繼續運行,并在任何事件導致標志的值為False時讓程序停止運行,這樣,在while循環語句中就只需檢查當前的標志是否為True這一個條件,從而讓程序變得更為簡單易讀。

面是使用標志控制while循環的例子:

sign = True
while sign: ?#標志為True時執行循環
? ? msg = input("Enter 'q' to end the program.\nPlease input a string: ")
? ??
? ? if msg != 'q': #用戶輸入非q時打印用戶輸入信息
? ? ? ? print('The message you just input is "' + msg + '".')
? ? else: ? #用戶輸入q時修改標志使其退出循環
? ? ? ? sign = False ?#將標志置為False結束while循環

運行結果如下圖所示:

這段代碼的功能與通過用戶輸入退出while循環中的代碼功能相同,雖然這個例子還看不出該段代碼的優越性,但是當限制while循環的條件多起來之后,這段代碼相較于上一段代碼的優勢就體現出來了。

4.使用break退出循環

要立即退出while循環,不再運行循環中余下的代碼,也不管條件測試的結果如何,可使用break語句。break語句用于控制程序流程,可使用它來控制哪些代碼行將執行,哪些代碼行不執行,從而讓程序按自己的要求執行相應的代碼。

下面是使用break退出循環的例子:

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

運行結果如下圖所示:

在本例中,while循環一直執行,除非遇到break語句才能退出循環。

5.在循環中使用continue

continue語句的作用是忽略本次循環中continue后面的代碼并返回到循環開頭,如果條件滿足則繼續執行循環,否則結束循環。

下面是在循環中使用continue的例子:

num = 1
print('1-10之內的偶數:')
while num <= 10:
? ? num += 1
? ??
? ? if num % 2 != 0:
? ? ? ? continue ? #奇數就跳過打印,偶數就執行打印
? ? print(num)

運行結果如下圖所示:

三、使用while循環處理列表和字典

要記錄大量的信息,需要在while循環中使用列表和字典。for循環是一種遍歷列表的有效方式,但在for循環中不應修改列表,否則將導致Python難以跟蹤其中的元素,要在遍歷列表的同時對其進行修改,可使用while循環。

1.在列表之間移動元素

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

下面是在列表之間移動元素的例子:

list_1 = ['abc', 'def', 'ghi']
list_2 = []
while list_1: #列表非空時一直循環
? ? 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

運行結果如下圖所示:

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

使用函數remove()即可刪除列表中的特定值,如果列表中的特定值有多個相同的話,就要用到while循環來刪除了。

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

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))

運行結果如下圖所示:

3.使用用戶輸入來填充字典

可以使用while循環提示用戶輸入任意數量的信息,根據這些信息可以創建相應的用戶字典。

下面是使用用戶輸入來填充字典的例子:

user_info = {} ?#創建一個空字典
sign = True ?#標志位置為True
while sign:
? ? name = input("Please input your name: ")
? ? favorite_color = input("Please input your favorite color: ")
? ??
? ? user_info[name] = favorite_color ?#在字典中添加鍵值對
? ??
? ? y_or_n = input("Enter 'n' to end, and other keys to continue.") #詢問用戶是否繼續
? ? if y_or_n == 'n':
? ? ? ? sign = False ?#標志位置為False并退出循環
? ? ? ??
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 + '.')

運行結果如下圖所示:

總結:

以上就是Python中用戶輸入與while循環的所有內容了,用戶輸入在編程中是非常重要的,因為程序交互性的前提就是獲取用戶輸入并給予響應,此外,while循環中標志、break以及continue的使用場景也應當熟悉。

原文鏈接:https://blog.csdn.net/weixin_42570192/article/details/123755044

欄目分類
最近更新