如何检查 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.