如何在 Python 中讀取整數輸入?


在 Python 中,有兩種方法可以向程式提供輸入資訊。一種是我們將輸入物件直接分配給物件引用/變數;另一種是程式動態地(在執行時)獲取使用者輸入。

Python 2.x 版本使用raw_input()函式動態獲取使用者輸入;而 Python 3.x 版本使用input()函式。預設情況下,input() 函式只以字串形式獲取輸入值。

在本文中,我們將學習如何在 Python 3.x 中使用 input() 函式將輸入讀取為“數字”。

將輸入讀取為數字

Python 與任何其他程式語言一樣,接受兩種型別的數字:整數型別 (int) 和小數型別 (float)。由於 input() 函式只將輸入視為字串,因此將它們讀取為任何其他型別資料的唯一方法是採用型別轉換技術。

讓我們看看一些演示應用於 input() 函式的型別轉換技術的示例。

示例

在這個示例中,我們接受輸入作為整數。因此,輸入必須使用 int 資料型別進行型別轉換。

integer = int(input("Enter an integer as input: ")) print(integer*10) print(type(integer))

輸出

讓我們編譯並執行給定的程式,以產生以下結果:

Enter an integer as input: 12
120
<class 'int'>

示例

與前面的示例相反,現在讓我們嘗試將輸入作為小數接受。因此,輸入必須使用 float 資料型別進行型別轉換。

num = float(input("Enter an number as input: ")) sq = num*num print(sq) print(type(num))

輸出

讓我們編譯並執行給定的程式,以產生以下結果:

Enter an integer as input: 45.63
2082.0969000000005
<class 'float'>

示例

如果輸入被型別轉換為浮點數,則也可以接受整數。讓我們看下面的例子。

num = float(input("Enter an number as input: ")) sq = num*num print(sq) print(type(num))

輸出

讓我們編譯並執行給定的程式,以產生以下結果:

Enter an integer as input: 10
100.0
<class 'float'>

示例:使用異常

由於輸入是動態輸入的,因此使用者可能不會輸入數字。如果發生這種情況,我們可以將其視為異常。為了處理此異常,我們在 while 迴圈中使用 try/except 塊,如下面的示例所示,該示例一直執行直到接受一個數字作為輸入。

user = 0 while True: try: user = int(input("Please enter a number: ")) except ValueError: print("Integer not found. Please enter again..") continue else: print("Integer found. Thank you.") break

輸出

上面給定程式的輸出如下所示:

Please enter a number: a
Integer not found. Please enter again..
Please enter a number: 12
Integer found. Thank you.

結論

將使用者輸入讀取為數字是使程式碼具有互動性和使用者友好的關鍵部分。雖然有多種方法可以解決這個問題,但最重要的是確保您的程式接收您希望它接收的值。這就是我們介紹了多種可用於將輸入讀取為數字的方法的原因。

更新於: 2023年2月24日

22K+ 瀏覽量

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.