在 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 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 中從字串中刪除逗號
- 在 Python 中將字串轉換為變數名
- Python 如何去掉字串中的空格/空白符
- 如何在 Python 中從字串中提取數字
- Python 如何將字串轉換為時間日期 datetime 格式
- Python2 和 3 中如何將(Unicode)字串轉換為小寫