在 Python 中檢查輸入是否為整數

Manav Narula 2023年1月30日
  1. 使用 int() 函式檢查輸入是否為 Python 中的整數
  2. 使用 isnumeric() 方法檢查輸入是否為整數
  3. Python 中使用正規表示式來檢查輸入是否為整數
在 Python 中檢查輸入是否為整數

在程式設計的世界中,我們經常與使用者的輸入打交道。Python 具有可用的 input() 函式,該函式允許使用者輸入所需的輸入。有時我們可能需要特定型別的輸入。

但是,此函式在將其輸入到程式中之前將使用者的輸入轉換為字串。因此,使用傳統方法通過使用者輸入來檢查特定型別並不簡單,並且我們必須檢查字串是否本質上包含數字。

在本教程中,我們將討論如何檢查使用者輸入的輸入是否為整數型別。

使用 int() 函式檢查輸入是否為 Python 中的整數

int() 函式可以將給定的字串整數值轉換為整數型別。如果所需值不是整數並且無法轉換,則會引發錯誤。我們可以使用此方法檢查使用者的字串是否為整數,如下所示。

user_input = input("Enter the input ")

try:
    int(user_input)
    it_is = True
except ValueError:
    it_is = False

print(it_is)

輸出:

Enter the input 15
True

注意在此方法中使用 try...except 塊。在 Python 中處理異常時,它非常頻繁地使用。

使用 isnumeric() 方法檢查輸入是否為整數

如果字串的 isnumeric() 方法僅包含數字,則返回 True。但是,值得注意的是,對於負值,它是失敗的。這是因為當遇到負整數中的 - 符號時,它會自動返回 False

下面的程式碼展示了我們如何在 Python 中使用這個函式來檢查一個字串是否包含整數。

user_input = input("Enter the input ")

print(user_input.isnumeric())

輸出:

Enter the input 10
True

我們也可以使用 isdigit() 函式代替 isnumeric();它也有與此方法相同的侷限性。

Python 中使用正規表示式來檢查輸入是否為整數

我們還可以使用正規表示式建立一個模式,該模式在遇到字串中的整數時將返回 True。我們還可以修改模式以確保它適用於負值。例如,

import re

user_input = input("Enter the input ")

num_format = re.compile(r"^\-?[1-9][0-9]*$")
it_is = re.match(num_format, user_input)

if it_is:
    print("True")
else:
    print("False")

輸出:

Enter the input -15
True

以下是正規表示式模式的解釋-^\-?[1-9][0-9]*$

  • ^是字串的開頭
  • \-? 表示此數字可以是負數或正數。
  • [1-9] 是數字的第一位。它必須是 1 到 9 之間的數字,但不能為 0。
  • [0-9]*表示隨後的數字。數字的數量可以是任意的,也包括 0。
  • $ 是字串的結尾。
作者: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

相關文章 - Python String

相關文章 - Python Input