簡體   English   中英

python-包含空格字符和int(str)的str

[英]python - str containing whitespace characters and int(str)

我正在嘗試編寫一個非常簡單的函數。 如果給定對象是數字(0-9),則應返回True,否則返回False。 以下是輸入和所需輸出的示例:

is_digit("") => False
is_digit("7") => True
is_digit(" ") => False
is_digit("a") => False
is_digit("a5") => False

我的代碼適用於以上示例。

def is_digit(n):
    try: 
        return int(n) in range(0, 10)
    except:
        return False

麻煩的是,該函數在應返回False時為n = "1\\n"返回True。 因此,像“ 1”這樣的字符串應該轉換為整數,並且是一個數字,但是像“ 1 \\ n”這樣的字符串則不能,但是我不知道該如何解決。 如何解釋字符串文字?

PS:如果我的頭銜很la腳,歡迎提供有關重命名的建議。

您無需為此定義自定義函數。 為此有一個內置函數,即isdigit()

您可以將其用作: "a5".isdigit()"1/n".isdigit() 。在兩種情況下,它將返回False。

首先,您必須將文字轉換為字符串,然后才能應用isdigit。 您不能將isdigit直接應用於數字。 會拋出錯誤

AttributeError:'int'對象沒有屬性'isdigit'

您必須以字符串輸入數字。 例如:

In [3]: str(0).isdigit()
Out[3]: True

要么

In [1]: "0".isdigit()
Out[1]: True

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM