讀取鍵盤輸入
許多程式都是互動式的。 支援互動性表示您的程式會根據輸入而以不同的方式執行。 將資料輸入程式的人員通常是使用者,但是可以是另一個程式。 有許多方式可將輸入傳送至程式,兩種常見的方式是透過圖形化介面或主控台。
使用者輸入
為了讀取來自鍵盤的輸入,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))