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