這章我們講程序怎么和洪湖進(jìn)行交互,與用戶交互的意思就是,用戶給你輸入什么內(nèi)容,然后你給用戶反饋什么內(nèi)容,這就叫與用戶交互。
舉個(gè)例子,你寫了一款翻譯軟件,首先肯定需要用戶給你輸入一段翻譯的內(nèi)容吧,然后用戶給你輸入了一個(gè)‘hello’給你,然后你這款翻譯軟件是不是就要把翻譯結(jié)果‘你好’輸出給用戶。
輸出給用戶的這個(gè)功能我們已經(jīng)學(xué)過了,就是print加()這個(gè)功能,那么接收用戶輸入也有一個(gè)功能叫input加()。
這個(gè)括號(hào)里我們可以用字符串寫一下提示性的信息,我在括號(hào)里寫了‘請(qǐng)輸入你的名字’,然后運(yùn)行之后輸入名字,敲回車這樣名字就被傳進(jìn)了計(jì)算機(jī)里。然后這個(gè)值就會(huì)被input這個(gè)功能接收。
input接收到這個(gè)值之后,會(huì)把它加上引號(hào)保存成一個(gè)字符串類型,在當(dāng)前位置生成一個(gè)值,如果我直接寫‘于謙’,這行代碼運(yùn)行完之后就會(huì)被當(dāng)成垃圾回收掉了。因?yàn)檫@個(gè)值沒有綁定任何變量名。
所以我這樣給它綁定一個(gè)變量名‘name’,但是這個(gè)名字不是我們自己在程序里直接定義的,這個(gè)是剛剛我們用input這個(gè)功能接收到的用戶輸入的內(nèi)容。
然后下一步我們print一下這個(gè)name,然后再打印一下它的類型。然后輸入‘于謙’,就會(huì)打印出來‘于謙’,然后是字符串類型。
這樣我們就實(shí)現(xiàn)了程序與用戶交互的功能,當(dāng)你拿到用戶輸入的信息之后,你可以對(duì)它進(jìn)行任意的操作,比如字符串拼接,還有我們學(xué)過的字符串和數(shù)字相乘,然后打印出來都是可以的。
這里我們要明白一件事,在Python3中,input會(huì)把用戶輸入的任何內(nèi)容都存成字符串類型。
現(xiàn)在我再運(yùn)行一次,輸入55,結(jié)果還是字符串類型。
如果是輸入用戶名的話,存入字符串還比較合理,但是要讓用戶輸入他的年齡,字符串就不合理了。因?yàn)槟挲g我們可能會(huì)把它當(dāng)成整型,對(duì)它進(jìn)行數(shù)學(xué)運(yùn)算。
比如過了一年,我要對(duì)這個(gè)年齡進(jìn)行+1操作,如果你給我存成字符串的話,我是不是就沒辦法操作了。這樣運(yùn)行的話,程序直接報(bào)錯(cuò),說TypeError類型錯(cuò)誤,字符串只能和字符串相加,不能和這個(gè)整型相加。
這時(shí)候就有一個(gè)新的功能出來了,int()表示調(diào)用一個(gè)功能,我們把a(bǔ)ge寫在括號(hào)里,這樣就把字符串a(chǎn)ge轉(zhuǎn)成了整型,裝換的結(jié)果我們賦值給age,這樣age的只就變成整型數(shù)字了。
原來的字符串?dāng)?shù)字由于和age解除了綁定,它就變成了垃圾回收了,但是我們要注意的是,int()這個(gè)功能只能把串?dāng)?shù)字的字符串轉(zhuǎn)成整型,意思就是int的括號(hào)里我們寫一個(gè)英豪然后里面寫123,這樣是能轉(zhuǎn)成整型的,但是12.3是不能的。
如果你的這個(gè)字符串里還有字母漢字或者其他符號(hào)的話就更加轉(zhuǎn)不了了。帶小數(shù)點(diǎn)的字符串怎么轉(zhuǎn)成數(shù)字我們后面再講。
未經(jīng)允許不得轉(zhuǎn)載:445IT之家 » Python 與用戶交互input()