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


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

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

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

示例

在此示例中,我们首先定义一个名为 my_string 的字符串,其中仅包含数字。然后,我们使用 isdigit() 方法检查 my_string 是否只包含数字。由于它包含,因此输出将为“字符串仅包含数字!”。

my_string = "1234"
if my_string.isdigit():
    print("The string contains only digits!")
else:
    print("The string does not contain only digits.")

输出

The string contains only digits!

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

示例

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

my_string = "12ab"

if my_string.isdigit():
    print("The string contains only digits!")
else:
    print("The string does not contain only digits.")

输出

The string does not contain only digits.

示例

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

input_str = input("Enter a string: ")
if input_str.isdigit():
    print("The string contains only digits.")
else:
    print("The string does not contain only digits.")

输出

Enter a string: 357sfy
The string does not contain only digits.

示例

在此示例中,我们定义了一个名为 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("The string contains only digits!")
else:
    print("The string does not contain only digits.")

输出

The string contains only digits!

示例

在此示例中,我们使用 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("The string contains only digits!")
else:
    print("The string does not contain only digits.")

输出

The string does not contain only digits.

示例

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

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

import re
my_string = "123456."
if re.search("\d+", my_string):
    print("The string contains only digits.")
else:
    print("The string does not contain only digits.")

输出

The string contains only digits.

示例

在此示例中,我们使用 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("The string contains only digits.")
else:
    print("The string does not contain only digits.")		

输出

The string does not contain only digits.

更新于: 2023年8月10日

10K+ 次查看

启动您的 职业生涯

通过完成课程获得认证

立即开始
广告