讀取鍵盤輸入

已完成

許多程式都是互動式的。 支援互動性表示您的程式會根據輸入而以不同的方式執行。 將資料輸入程式的人員通常是使用者,但是可以是另一個程式。 有許多方式可將輸入傳送至程式,兩種常見的方式是透過圖形化介面或主控台。

使用者輸入

為了讀取來自鍵盤的輸入,Python 提供 input() 函式。 input() 會讀取使用者在鍵盤上鍵入的內容,並以字串形式傳回。 以下是結合 input()print() 來擷取人名並在畫面上顯示的範例:

name = input('Enter your name:')
print(name)

作為引數傳遞到 input 函式之字串是使用者會看到的提示。 在此範例中,您會要求使用者鍵入其名稱 (「輸入您的名稱」)。 一旦使用者鍵入名稱並按 Enter 鍵,即會傳回 input 函式。 函式的傳回值是使用者所鍵入文字,而該文字會指派給名為 name 的變數。 name 變數接著會作為輸入或引數傳遞到 print 函式,以輸出使用者所輸入的名稱。

您也可以呼叫 input 函式而不提供參數:

print('What is your name?')
name = input()
print(name)

此程式行為與第一個程式的行為「幾乎」相同。 差別在於 print (根據預設) 會將新行字元新增至輸出。

讀取作為輸入的數字

input 函式一律會以「字串」 (文字) 形式傳回具類型的值。 這很合理,因為使用者可以輸入任何他們想要的值。 即使輸入「是」有效的數字,它仍然會從 input 函式以字串類型傳回。 例如:

x = input('Enter a number: ')
print(type(x))

執行此程式碼並輸入值 '5' 會顯示 <class 'str'>,即使該值本身是數值也一樣。 若要將該值轉換成真整數變數,您可以使用 int() 函式:

x = int(input('Enter a number: '))
print(type(x))

此程式碼針對值 '5' 會輸出 <class 'int'>。 如果您預期小數部分,可以透過相同的方式來使用 float 函式。

重要

如果輸入「不是」數值且您將它傳遞到 int() 函式,會發生什麼情況? 如您所預期,這會發生錯誤並導致執行階段失敗。 程式會在此陳述式結束;您可以在 Python 互動式主控台中自行嘗試。 我們將討論在未來模組中處理這類錯誤的各種解決方案。

將數字轉換成字串

您也可以反向執行。 str() 方法會接受整數或浮點數值,並將其轉換成字串。 如果您想要讓下列程式碼範例運作,則需要 str() 呼叫方法。 轉換可確保整數 (字串形式) 串連至左邊的字串。

x = 5
print('The number is ' + str(x))