如何检查 Python 字符串是否仅包含数字?
要检查 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("字符串不只包含数字。")
输出
字符串不只包含数字。