溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何在Python中使用input函數(shù)

發(fā)布時(shí)間:2020-07-01 16:34:06 來(lái)源:億速云 閱讀:283 作者:元一 欄目:編程語(yǔ)言

這篇文章運(yùn)用簡(jiǎn)單易懂的例子給大家介紹如何在Python中使用input函數(shù),代碼非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。

1.input()函數(shù)

Python3.x 中 input() 函數(shù)接受一個(gè)標(biāo)準(zhǔn)輸入數(shù)據(jù),返回為 string 類型。

Python2.x 中 input() 相等于 eval(raw_input(prompt)) ,用來(lái)獲取控制臺(tái)的輸入。

raw_input() 將所有輸入作為字符串看待,返回字符串類型。而 input() 在對(duì)待純數(shù)字輸入時(shí)具有自己的特性,它返回所輸入的數(shù)字的類型( int, float )。

2.input()函數(shù)的使用

input()函數(shù)是輸入函數(shù),是實(shí)現(xiàn)人機(jī)交互的重要函數(shù),例如有時(shí)計(jì)算機(jī)會(huì)問(wèn)你一個(gè)問(wèn)題,你需要做出回答,從而讓計(jì)算機(jī)進(jìn)行下一步的判斷,這時(shí)我們就需要用到input()函數(shù)。

例如:在一次考試中,有一道問(wèn)題有四個(gè)選項(xiàng),其中只有一個(gè)正確答案,這時(shí)你需要回答出你所選的選項(xiàng),從而讓計(jì)算機(jī)判斷你是否答對(duì)問(wèn)題。

print('請(qǐng)?jiān)谝韵滤膫€(gè)選項(xiàng)中【A.1;B.5;C.0;D.2】選出你的選項(xiàng)')
choice=input('請(qǐng)問(wèn)你的選項(xiàng)是:')
if choice=='A':
    print('恭喜你,回答正確!!!')
else:
    print('很遺憾,回答錯(cuò)誤!!!')
 
------------------------------------------------------
 
請(qǐng)?jiān)谝韵滤膫€(gè)選項(xiàng)中【A.1;B.5;C.0;D.2】選出你的選項(xiàng)
請(qǐng)問(wèn)你的選項(xiàng)是:A
恭喜你,回答正確!!!

從上面可以看出input()是輸入函數(shù),當(dāng)你在函數(shù)的括號(hào)內(nèi)寫下問(wèn)題時(shí),它會(huì)在終端打印出來(lái)等待你的輸入,在你輸入后,計(jì)算機(jī)會(huì)根據(jù)你的回答進(jìn)行判斷。

3.input()的數(shù)據(jù)類型

在最開始說(shuō)了在Python3中,input()函數(shù)接受一個(gè)標(biāo)準(zhǔn)輸入數(shù)據(jù),返回為string類型。不管我們輸入的回答是什么,不管你輸入的是整數(shù),還是字符串,input()函數(shù)的輸入值(搜集到的回答),永遠(yuǎn)會(huì)被【強(qiáng)制性】地轉(zhuǎn)換為【字符串】類型。(Python3固定規(guī)則)

choice = input('請(qǐng)輸入1或2:')
print(type(choice))
name=input('請(qǐng)輸入你的名字:')
print(type(name))
 
----------------------------
 
請(qǐng)輸入1或2:1 
<class 'str'>
請(qǐng)輸入你的名字:張三
<class 'str'>

在第一個(gè)例子中if choice='A',input()的輸入值被轉(zhuǎn)化成字符串,右邊’A‘也是一個(gè)字符串類型,”=“兩邊類型相同,運(yùn)行正確。如果改成if choice=A,那么運(yùn)行就會(huì)出錯(cuò)。

print('請(qǐng)?jiān)谝韵滤膫€(gè)選項(xiàng)中【A.1;B.5;C.0;D.2】選出你的選項(xiàng)')
choice=input('請(qǐng)問(wèn)你的選項(xiàng)是:')
if choice==A:
    print('恭喜你,回答正確!!!')
else:
    print('很遺憾,回答錯(cuò)誤!!!')
 
------------------------------------------------------------------------------------------
 
Traceback (most recent call last):
  File "/home/pythonclass/93745296-3f71-4a34-97c4-3acfae4e9d32/3c1401ac-eff9-4b93-89c0-493ca9670e7f/classroom/apps-1-id-5cd9765719bbcf000155479e/98/main.py", line 3, in <module>
    if choice==A:
NameError: name 'A' is not defined

4.input()函數(shù)結(jié)果的強(qiáng)制轉(zhuǎn)換

choice=input('請(qǐng)選擇1或2')
if choice=='1':
    print('正確')
else:
    print('錯(cuò)誤')

上面這段代碼很簡(jiǎn)單,僅有兩個(gè)選項(xiàng),如果上面代碼不是兩個(gè),而是幾十個(gè),幾百個(gè),難道我們要一個(gè)一個(gè)打'1','2','3','4','5',.....'200','201'.....,這時(shí)我們要想辦法簡(jiǎn)單一點(diǎn),那就是把所有的數(shù)據(jù)的類型都轉(zhuǎn)換成整型,但是上面不是說(shuō)了input()函數(shù)的返回都為string類型嗎?其實(shí)在某些特殊情況下是可以被強(qiáng)制轉(zhuǎn)換的,

choice=int(input('請(qǐng)選擇1或2'))
if choice==1:
    print('正確')
else:
    print('錯(cuò)誤')
 
------------------------------
 
請(qǐng)選擇1或2 1
正確

只要在input()函數(shù)前面加上int(),就可以把input()函數(shù)的結(jié)果強(qiáng)制轉(zhuǎn)換成整數(shù)。

那么我們什么時(shí)候會(huì)用到把結(jié)果強(qiáng)制轉(zhuǎn)換成整數(shù)的時(shí)候呢,當(dāng)我們想要的結(jié)果是數(shù)字的時(shí)候。例如年齡,工資,身高,體重等這些數(shù)字時(shí)。

例如:我們要對(duì)全班的同學(xué)按照身高進(jìn)行分組,這時(shí)我們就需要用到整數(shù)。

height=int(input('請(qǐng)問(wèn)你的身高是:'))
if 0<height<=150:
    print('你被分到了1組')
elif 150<height<=180:
    print('你被分到了2組')
else:
    print('你被分到了3組)
-----------------------------------
請(qǐng)問(wèn)你的身高是:185   
你被分到了3組

注意:input() 和 raw_input() 這兩個(gè)函數(shù)均能接收 字符串 ,但 raw_input() 直接讀取控制臺(tái)的輸入(任何類型的輸入它都可以接收)。而對(duì)于 input() ,它希望能夠讀取一個(gè)合法的 python 表達(dá)式,即你輸入字符串的時(shí)候必須使用引號(hào)將它括起來(lái),否則它會(huì)引發(fā)一個(gè) SyntaxError 。

除非對(duì) input() 有特別需要,否則一般情況下我們都是推薦使用 raw_input() 來(lái)與用戶交互。

注意:python3 里 input() 默認(rèn)接收到的是 str 類型。

關(guān)于在Python中使用input函數(shù)的方法就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI