element input 只能输入数字_Python之input()函数
input()函數(shù)包含四個(gè)方面:input()函數(shù)的使用/結(jié)果的賦值/數(shù)據(jù)類型/結(jié)果的強(qiáng)制轉(zhuǎn)換。是實(shí)現(xiàn)人機(jī)互動(dòng)溝通的關(guān)鍵,需要在終端出輸入信息。我們可以把input()函數(shù)當(dāng)作一扇鏈接現(xiàn)實(shí)世界與代碼世界的門,圖解如下:
先看一個(gè)例子:
1、將代碼串input(請(qǐng)?jiān)谝韵滤膫€(gè)選項(xiàng)【小米;大鼻;鋼牙;小老鼠】中,輸入你猜到得小YO給新寵小老鼠取的名字: 寫在代碼框中;2、點(diǎn)擊運(yùn)行后,在右側(cè)終端處輸入自己的選擇;3、輸入答案“小米”后按回車鍵。通過這個(gè)例子YO媽來說說input()函數(shù)的使用和input()函數(shù)結(jié)果的賦值。
1、input()函數(shù)的使用
使用input()函數(shù)搜集信息,如上例需要你輸入針對(duì)括號(hào)內(nèi)'請(qǐng)?jiān)谝韵滤膫€(gè)選項(xiàng)【小米;大鼻;鋼牙;小老鼠】中,輸入你猜到得小YO給新寵小老鼠取的名字: '的答案。所以,當(dāng)你在函數(shù)的括號(hào)內(nèi)寫出問題時(shí),input()函數(shù)會(huì)將此問題原樣顯示在屏幕上,并在終端區(qū)域等待你針對(duì)此問題的回答。可是,我們?yōu)槭裁匆诮K端處輸入回答呢?不輸入行不行?事實(shí)上,我們可以把input()函數(shù)當(dāng)作一扇鏈接現(xiàn)實(shí)世界與代碼世界的門。當(dāng)問題從代碼世界傳遞給我們,可我們卻沒有回答時(shí),這扇等待輸入的input()大門,就會(huì)一直處于敞開狀態(tài),一直等著你往里送回答。而當(dāng)我們輸入信息后,這扇input()大門便會(huì)關(guān)上,繼續(xù)執(zhí)行下面的命令。簡(jiǎn)單來說,我們思維的第一步,就是使用input()函數(shù)搜集信息:
在python里,『#』常用作單行注釋符號(hào),用于解釋單行代碼,#號(hào)后邊的任何數(shù)據(jù)在代碼運(yùn)行的階段不會(huì)被輸出。當(dāng)我想將搜集到的數(shù)據(jù)和【'?要問問小YO'】拼接起來,并打印出結(jié)果時(shí),問題來了。雖然我用input()函數(shù)搜集到了一個(gè)信息,可我如何從程序海洋中調(diào)出這個(gè)信息,進(jìn)行數(shù)據(jù)拼接呢?這就涉及到了input()函數(shù)的第二個(gè)知識(shí)點(diǎn)——函數(shù)結(jié)果的賦值。
2、input()函數(shù)結(jié)果的賦值
還記得YO媽寫在前面的變量賦值嗎?首先,我們可以對(duì)變量進(jìn)行賦值,這樣當(dāng)我們想提取數(shù)據(jù)時(shí),只要直接打印變量名,就能喚醒程序?qū)?shù)據(jù)的記憶,這個(gè)賦值邏輯,在input()函數(shù)中也是行得通的。我們也可以通過賦值,達(dá)到隨時(shí)提取輸入結(jié)果的目的。但是在邏輯層面,我們需要拐一個(gè)彎。以下面這串代碼為例:
賦值符號(hào)=不是左邊等于右邊的意思。僅僅表示賦值動(dòng)作:把右邊的內(nèi)容放到了左邊的盒子中。看上去像是給input()函數(shù)賦值,實(shí)際上是將input()函數(shù)的執(zhí)行結(jié)果(收集的信息)賦值給變量name。通俗來講,我們放進(jìn)name這個(gè)盒子里的東西,不是input()函數(shù)中提的問題,而是通過input()函數(shù)收集到的別人的答案。不管你在終端輸入的內(nèi)容是什么,不管你的回答改變多少次,只要是對(duì)input()函數(shù)所提問題的回答,都會(huì)被存儲(chǔ)在變量中。等待你打印變量時(shí),將回答提取出來,展示在顯示屏上。而這些展示在終端的信息/回答/數(shù)據(jù),在代碼世界,我們可以稱其為輸入值:我們輸入給函數(shù)的內(nèi)容。回到小YO新寵小老鼠的名字的案例中:
YO媽輸入的是“小米”就是輸入值在終端處輸入的信息:小米或大鼻或鋼牙或小老鼠(每個(gè)人輸入的內(nèi)容不同),就是輸入值。
為了能隨時(shí)且方便地提取輸入值,我們需要把input()函數(shù)的結(jié)果賦給變量name。
鋪好搜集信息的路,并對(duì)獲取的信息進(jìn)行了賦值,此時(shí)就可以進(jìn)行最后一步,打印最終結(jié)果。
理解代碼時(shí),腦中的思維順序是先搜集信息,再把input()函數(shù)的結(jié)果賦給變量。為了書寫規(guī)范及防止漏掉信息,我們要按照代碼書寫格式,優(yōu)先對(duì)input()函數(shù)的結(jié)果進(jìn)行賦值。這就是YO媽提到的重點(diǎn):函數(shù)用好,賦值第一,input()函數(shù)的結(jié)果必須賦值。圖解如下:
3、input()函數(shù)的數(shù)據(jù)類型
我們先從計(jì)算機(jī)語言的邏輯,按行拆解一下這段代碼組:
先來看看第一行代碼中的賦值語句:
利用input()函數(shù)接收數(shù)據(jù),并將數(shù)據(jù)賦值給變量choice。這行代碼的每個(gè)部分代表著什么:
賦值符號(hào)=不是左邊等于右邊的意思。僅僅表示賦值動(dòng)作:把右邊的內(nèi)容放到了左邊的盒子中。對(duì)于input()函數(shù)來說,不管我們輸入的回答是什么,不管輸入的是整數(shù)1234,還是字符串,input()函數(shù)的輸入值(搜集到的回答),永遠(yuǎn)會(huì)被【強(qiáng)制性】地轉(zhuǎn)換為【字符串】類型。(這是Python3固定規(guī)則)由于我們用賦值運(yùn)算符【=】把input()函數(shù)的字符串結(jié)果,賦給了變量choice,所以這個(gè)變量也一定是字符串類型。
賦值符號(hào)=不是左邊等于右邊的意思。僅僅表示賦值動(dòng)作:把右邊的內(nèi)容放到了左邊的盒子中。確定了變量choice的數(shù)據(jù)類型是字符串。下面,我們?cè)賮砜春竺娴拇a。
比較運(yùn)算符==代表左右兩邊相等的符號(hào)我們先來看第一塊代碼組的if條件語句【if choice==1】并進(jìn)行拆解:
比較運(yùn)算符==代表左右兩邊相等的符號(hào)你是不是發(fā)現(xiàn)了什么問題?YO媽在拆解input()函數(shù)時(shí),提到的變量choice的數(shù)據(jù)類型,在第一次變量賦值時(shí),input()函數(shù)的輸入值是字符串,'1'也是字符串;但是到了if條件判斷時(shí),if的條件變成了【choice == 1】 1沒有了引號(hào)是個(gè)整數(shù)類型。因?yàn)槲覀冚斎氲男畔⒂肋h(yuǎn)是字符串,choice是一個(gè)字符串類型,而1是一個(gè)整數(shù)類型,它們當(dāng)然無法相等,條件【choice == 1】無法成立,只能執(zhí)行else下面的操作:打印『YO媽看完了家里所有的書』。
我們需要一個(gè)更為省力的簡(jiǎn)便方法,將所有輸入值的數(shù)據(jù)類型,一次性全部變?yōu)檎麛?shù)。那就是本文第四點(diǎn):input()函數(shù)結(jié)果的強(qiáng)制轉(zhuǎn)換。
4、input()函數(shù)結(jié)果的強(qiáng)制轉(zhuǎn)換
也許你會(huì)問:剛剛提到input()函數(shù)搜集到的信息是固定為字符串,還能變整數(shù)?沒錯(cuò),input()函數(shù)的輸入值在某些情況下,是可以變?yōu)檎麛?shù)。還記得字符串轉(zhuǎn)變?yōu)檎麛?shù)要怎么做嗎?int()可以將字符串強(qiáng)制性地轉(zhuǎn)換為整數(shù)。有了int()函數(shù),我們就可以從input()函數(shù)的源頭,將輸入的內(nèi)容轉(zhuǎn)換為整數(shù)。
這串代碼看起來像是把input()函數(shù)整個(gè)強(qiáng)制轉(zhuǎn)換了。可實(shí)際上,我們是將input()函數(shù)取得的結(jié)果,進(jìn)行強(qiáng)制轉(zhuǎn)換,并將強(qiáng)制轉(zhuǎn)換的結(jié)果賦值存在名為choice的變量盒里。這樣,就算if條件是整數(shù),程序也可以準(zhǔn)確運(yùn)行。那么,我們什么時(shí)候會(huì)用到,input()函數(shù)結(jié)果的強(qiáng)制轉(zhuǎn)換呢?很簡(jiǎn)單,當(dāng)你想要的答案是數(shù)字時(shí),比如年齡、時(shí)間、工資等,比如以下一串代碼:
int()將字符串input()函數(shù)強(qiáng)制性地轉(zhuǎn)換為整數(shù)了YO媽在終端輸入11111大于10000,回車得出:打印if條件下的結(jié)果YO媽在終端輸入1111小于10000,回車得出:打印else條件下的結(jié)果對(duì)應(yīng)前面是不是又發(fā)現(xiàn)了什么問題?這里money的數(shù)據(jù)類型是整數(shù),所以輸入11111或者1111時(shí),if或者else的條件成立,就能執(zhí)行打印對(duì)應(yīng)的操作了。可以明白了么?YO媽再來歸納一下input()函數(shù)數(shù)據(jù)類型強(qiáng)制轉(zhuǎn)換的知識(shí)點(diǎn):
以上,input()函數(shù)的所有知識(shí)點(diǎn)YO媽就介紹完了。
YO媽已經(jīng)寫了四篇關(guān)于python的文章,現(xiàn)在總結(jié)下這四篇文章的重點(diǎn)。
YO媽前四篇文章重點(diǎn)的綜合簡(jiǎn)下:
第一篇,print()函數(shù)。print()函數(shù)。別看這個(gè)函數(shù)看起來簡(jiǎn)單,但是深挖下去,這個(gè)最簡(jiǎn)單的打印函數(shù)也內(nèi)有乾坤,它包含著程序世界最基礎(chǔ)的運(yùn)算邏輯。第二篇,數(shù)據(jù)類型。如果想要達(dá)成和計(jì)算機(jī)互動(dòng)溝通的目的,還需要掌握計(jì)算機(jī)的溝通語言。只有當(dāng)計(jì)算機(jī)明白我們說的是什么時(shí),它才能給予我們正確的反饋第三篇,條件判斷。如果想要達(dá)成和計(jì)算機(jī)互動(dòng)溝通的目的,還需要掌握計(jì)算機(jī)的溝通語言。只有當(dāng)計(jì)算機(jī)明白我們說的是什么時(shí),它才能給予我們正確的反饋。第四篇,input()函數(shù)。擁有了語言和邏輯,我們就可以和計(jì)算機(jī)進(jìn)行交互式溝通了。希望以上信息可以幫助到你,感興趣的話可以點(diǎn)贊加關(guān)注,會(huì)持續(xù)更新的。
總結(jié)
以上是生活随笔為你收集整理的element input 只能输入数字_Python之input()函数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 软件项目实施方案_进度、预算、人员和合同
- 下一篇: cmd中的进度如何捕捉到输出内容_pyt