用户输入和while循环
學習如何接受用戶輸入,例如:假設有人要判斷自己是否到了投票的年齡,要編寫回答這個問題的程序,就需要知道用戶的年齡,這樣才能給出答案。因此,這種程序需要讓用戶輸入年齡,再將其與投票年齡進行比較,以判斷用戶是否到了投票的年齡,再給出答案。為此,我們需要使用函數(shù)input()。
1、函數(shù)input()的工作原理
函數(shù)input()讓程序暫停運行,等待用戶輸入一些文本。獲取用戶輸入后,Python將其存儲在一個變量中,以方便我們使用。
? 例如,下面的程序讓用戶輸入一些文本,再將這些文本呈現(xiàn)給用戶:
函數(shù)input()接受一個參數(shù):即要向用戶顯示的提示或說明,讓用戶知道該如何做。在這個示例中,Python運行第一行代碼時,用戶將看到提示 Tell me something ,and I will repeat it back to you:。程序等待用戶輸入,并在用戶按回車鍵后繼續(xù)運行。輸入存儲在變量message中,接下來的print(message)將輸入呈現(xiàn)給用戶:
- 編寫清晰的程序
? 每當我們使用函數(shù)input()時,都應指定清晰而易于明白的提示,準確地指出我們希望用戶提供什么樣的信息,指出用戶輸入任何信息的提示都行,如下所示:
? 有時候,提示可能超過一行,例如,我們可能需要指出獲取特定輸入的原因。在這種情況下,可能提示存儲在一個變量中,再將該變量傳遞給函數(shù)input()。這樣,即便提示超過一行,input()語句也非常清晰。
此例創(chuàng)建了一種多行字符串的方式。第一行將消息的前半部分存儲在變量prompt中,在第二行中,運算符+=在存儲在prompt中的字符串末尾附加一個字符串。
- ?使用int()來獲取數(shù)值輸入
? 使用函數(shù)input()時,Python將用戶輸入解讀為字符串。
用戶輸入的是數(shù)字21,但我們請求Python提供變量age的值時,它返回的是‘21’,即用戶輸入的數(shù)值的字符串表示。如果我們只想打印輸入,這沒有問題,但如果我們試圖將輸入作為數(shù)字使用,就會引發(fā)錯誤:
因為它無法將字符串和整數(shù)進行比較,即不能將存儲在age中的字符串‘21’與數(shù)值18進行比較。為了解決這個問題,可以使用函數(shù)int(),他讓Python將輸入視為數(shù)值。函數(shù)int()將數(shù)字的字符串表示轉換為數(shù)值表示,如下:
- 求模運算符
? 處理數(shù)值信息時,求模運算符(%)是一個很有用的工具,它將兩個數(shù)相除并返回余數(shù):
求模運算符不會指出一個數(shù)是另一個數(shù)的多少倍,而只能指出余數(shù)是多少。
? 如果一個數(shù)可被另一個數(shù)整除,余數(shù)就為0,因此求模運算符將返回0。我們可以利用這一點來判斷一個數(shù)是奇數(shù)還是偶數(shù):
2、while循環(huán)簡介
? for循環(huán)用于針對集合中的每個元素的一個代碼塊,而while循環(huán)不斷地運行,直到指定的條件不滿足為止。
- 使用while循環(huán)
我們可以使用while循環(huán)來數(shù)數(shù),例如,下面的while循環(huán)從1數(shù)到5:
在第一行,我們將current_number設置為1,從而指定從1開始數(shù)。接下來的while循環(huán)被設置為:只要current_number小于或等于5,就接著運行這個循環(huán)。循環(huán)中的代碼打印current_number的值,再使用代碼current_number+=1(代碼current_number=current_number+1)將其值加1。
只要滿足條件current_number<=5,Python就接著運行這個循環(huán)。由于1小于5,因此Python打印1,并將current_number加1,使其為2;由于2小于5,因此Python打印2,并將current_number加1,使其為3,以此類推。一旦current_number大于5,循環(huán)就將停止。整個程序也將到此結束。
? 我們每天使用的程序很可能就包含while循環(huán)。例如,游戲使用while循環(huán),確保在玩家想玩時不斷運行,并在玩家想退出時停止運行。
- ?讓用戶選擇何時退出
? 可使用while循環(huán)讓程序在用戶愿意時不斷地運行,如下面的程序所示。我們在其中定義了一個退出值,只要用戶輸入的不是這個值,程序就接著運行。
首先,我們定義了一條提示信息,告訴用戶他有兩個選擇:要么輸入一條消息,要么輸入退出值(這里為quit)。接下來,我們創(chuàng)建了一個變量message,用于存儲用戶輸入的值。我們將變量message的初始值設置為空字符串‘’,讓Python首次執(zhí)行while代碼行時有可供檢查的東西。Python首次執(zhí)行while語句時,需要將message的值與‘quit’進行比較,但此時用戶還沒有輸入。如果沒有可供比較的東西,Python將無法繼續(xù)運行程序。為解決這個問題,我們必須給變量message指定一個初始值。雖然這個初始值只是一個空字符串,但符合要求,讓Python能夠執(zhí)行while循環(huán)所需的比較。只要message的值不是‘quit’,這個循環(huán)就會不斷運行。
首次遇到這個循環(huán)時,message是一個空字符串,因此Python進入這個循環(huán),執(zhí)行到代碼行message=input(prompt)時,Python顯示提示消息,并等待用戶的輸入。不管用戶輸入是什么
?
轉載于:https://www.cnblogs.com/haohanTL/p/10939267.html
總結
以上是生活随笔為你收集整理的用户输入和while循环的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java的新项目学成在线笔记-day12
- 下一篇: 面向切面编程-日志切面应用