如何检查 Python 字符串是否仅包含数字?

pythonserver side programmingprogramming

要检查 Python 字符串是否仅包含数字,我们可以使用内置的 isdigit() 方法。如果字符串中的所有字符都是数字,则此方法返回 True,否则返回 False。

以下是演示如何使用 isdigit() 的示例代码片段:

检查字符串是否仅包含数字

示例

在此示例中,我们首先定义一个名为 my_string 的字符串,该字符串仅包含数字。然后我们使用 isdigit() 方法检查 my_string 是否仅包含数字。因为确实如此,所以输出将是"字符串仅包含数字!"。

my_string = "1234"
if my_string.isdigit():
    print("字符串仅包含数字!")
else:
    print("字符串不包含数字。")

输出

字符串仅包含数字!

现在让我们看一个字符串也包含非数字字符的示例:

示例

在此示例中,字符串 my_string 包含非数字字符("a"和"b")。当我们运行代码时,输​​出将是"字符串不包含数字。"因为 isdigit() 方法返回 False。

my_string = "12ab"

if my_string.isdigit():
    print("字符串仅包含数字!")
else:
    print("字符串不包含仅数字。")

输出

字符串不包含仅数字。

示例

在此示例中,我们首先使用 input() 函数提示用户输入字符串。然后我们使用 isdigit() 方法检查字符串是否仅包含数字。如果字符串仅包含数字,我们将打印"字符串仅包含数字。"否则,我们打印"字符串不只包含数字。"

input_str = input("输入字符串:")
if input_str.isdigit():
    print("字符串不只包含数字。")
else:
    print("字符串不只包含数字。")

输出

输入字符串:357sfy
字符串不只包含数字。

示例

在此示例中,我们定义一个名为 contains_only_digits() 的函数,该函数以字符串作为输入,并使用 for 循环和 isdigit() 方法检查它是否仅包含数字。如果字符串仅包含数字,则函数返回 True。否则,返回 False。

然后,我们定义一个名为 my_string 的字符串,该字符串仅包含数字,并使用 my_string 作为输入调用 contains_only_digits() 函数。由于 my_string 仅包含数字,因此输出将为"字符串仅包含数字!"。

def contains_only_digits(input_str):

    for char in input_str:
        if not char.isdigit():
            return False
    return True

my_string = "1234"
if contains_only_digits(my_string):
    print("字符串仅包含数字!")
else:
    print("字符串不包含仅数字。")

输出

字符串仅包含数字!

示例

在此示例中,我们使用 re 模块检查字符串是否仅包含数字。我们定义一个名为 my_string 的字符串,其中包含非数字字符("a"和"b")。然后,我们使用 re.fullmatch() 函数检查 my_string 是否仅包含数字。

r"\d+" 正则表达式模式匹配一​​个或多个数字。如果 my_string 与此模式匹配,则它仅包含数字,输出将为"字符串仅包含数字!"。否则,输出将为"字符串不只包含数字。"。

import re
my_string = "12ab"
if re.fullmatch(r"\d+", my_string):
    print("字符串不只包含数字!")
else:
    print("字符串不只包含数字。")

输出

字符串不只包含数字。

示例

在此示例中,我们使用 re 模块检查字符串是否只包含数字。我们定义一个名为 my_string 的字符串,其中包含所有数字字符 (123456)。然后我们使用 re.search() 函数检查 my_string 是否仅包含数字。

r"\d+" 正则表达式模式匹配一​​个或多个数字。如果 my_string 与此模式匹配,则它仅包含数字,输出将为"字符串仅包含数字!"。否则,输出将为"字符串不包含仅数字。"。

import re
my_string = "123456."
if re.search("\d+", my_string):
    print("字符串仅包含数字。")
else:
    print("字符串不包含仅数字。")

输出

字符串仅包含数字。

示例

在此示例中,我们使用 re 模块检查字符串是否仅包含数字。我们定义一个名为 my_string 的字符串,其中包含非数字字符("c"、"d")。然后,我们使用 re.findall() 函数检查 my_string 是否仅包含数字。

r"\d+" 正则表达式模式匹配一​​个或多个数字。如果 my_string 与此模式匹配,则它仅包含数字,输出将为"字符串仅包含数字!"。否则,输出将为"字符串不包含仅数字。"。

import re

my_string = "5678cd."
if re.findall("r\d+", my_string):
    print("字符串仅包含数字。")
else:
    print("字符串不只包含数字。")

输出

字符串不只包含数字。

相关文章