input()函數(shù)是Python提供的一個內(nèi)置函數(shù),用于讀取用戶從鍵盤中輸入的數(shù)據(jù)。
input()函數(shù)從鍵盤中讀取的數(shù)據(jù)是字符串的形式,在使用過程中可以用變量來接收它,根據(jù)實際使用目的,可以使用類型轉(zhuǎn)換函數(shù)將其轉(zhuǎn)換成對應的數(shù)據(jù)類型。
當程序運行到input()函數(shù)時,會等待用戶輸入相關的數(shù)據(jù),用戶輸入完并按下回車鍵后,input()函數(shù)才會讀取用戶輸入的數(shù)據(jù)。
在input函數(shù)執(zhí)行過程中,如果遇到EOF則會產(chǎn)生一個EOFError異常,程序終止運行。
input()函數(shù)的語法如下:
input([prompt])
prompt是一個可選參數(shù),該參數(shù)是在用戶輸入數(shù)據(jù)之前先在控制臺打印一個prompt指定的字符串文本,如輸入提示文本。該函數(shù)在運行時沒有任何輸入提示,因此在用戶輸入數(shù)據(jù)之前,使用該參數(shù)給出必要的輸入提示,避免用戶困惑。
下面給出幾個使用的例子。
>>> input()
武林網(wǎng)VEVB
'武林網(wǎng)VEVB'
>>> input()
12.3
'12.3'
>>> s = input()
www.survivalescaperooms.com
>>> s
'www.survivalescaperooms.com'
>>> v1 = input('請輸入一個數(shù):')
請輸入一個數(shù):13
>>> v1
'13'
在Python3.8.2IDLE中運行的情況如下圖所示:
從上面的例子中,我們可以看出,無論用戶輸入什么類型的數(shù)據(jù),input函數(shù)都會將其轉(zhuǎn)換成字符串類型進行處理。
下面的例子使用type()函數(shù)來驗證一下:
>>> v1 = input("請輸入一個字符串:")
請輸入一個字符串:I Love China!
>>> print(f"你輸入的字符串為:{v1},其類型為:{type(v1)}")
你輸入的字符串為:I Love China!,其類型為:<class 'str'>
>>> v2 = input("請輸入一個整數(shù):")
請輸入一個整數(shù):1314
>>> print(f"你輸入的整數(shù)為:{v2},其類型為:{type(v2)}")
你輸入的整數(shù)為:1314,其類型為:<class 'str'>
>>>
上面的例子在IDLE 3.8.2中運行的情況如下圖所示:
從上面的講解可以知道,input()函數(shù)讀取用戶輸入的數(shù)據(jù)都會轉(zhuǎn)換為字符串,如果我們在程序中需要其它類型數(shù)據(jù)的話可以使用類型轉(zhuǎn)換函數(shù)來完成。
下面這個例子通過比較用戶輸入的兩個數(shù)大小來演示相關方法。
# 比較兩個數(shù)字的大小
# 由用戶輸入兩個數(shù)字n1和n2,程序按照已下格式輸出
# n1 > n2 或 n1 < n2 或 n1 = n2
v1 = input("請輸入第一個數(shù):")
v2 = input("請輸入第二個數(shù):")
n1 = float(v1)
n2 = float(v2)
if n1 > n2:
print(f"{n1} > {n2}")
elif n1 < n2:
print(f"{n1} < {n2}")
else:
print(f"{n1} = {n2}")
在IDLE 3.8.2中的運行情況如下圖所示:
當用戶輸入EOF時,input()函數(shù)會給出EOFError的錯誤并終止程序的運行。
下面這段程序用于演示input()函數(shù)讀取用戶輸入EOF(ctrl + D)時的情景:
v1 = input("請輸入一個整數(shù):")
print(f"你輸入的整數(shù)為:{v1}")
執(zhí)行和輸出情況:
請輸入一個整數(shù):^D
上面結(jié)果中“^D”表示用戶按下了“CTRL+D”。
Traceback (most recent call last):
File "D:/01Lesson/PY/input02.py", line 1, in <module>
v1 = input("請輸入一個整數(shù):")
EOFError: EOF when reading a line
在IDLE 3.8.2中運行的結(jié)果如下圖所示:
本文(完)
新聞熱點
疑難解答