Python 如何检查字符串是否包含字母或数字

Python 如何检查字符串是否包含字母或数字

要在Python中检查字符串是否包含字母或数字,我们可以使用一些内置方法,如isalpha()和isdigit()。

isalpha() 方法如果字符串的所有字符都是字母(字母),则返回True,否则返回False。

isdigit() 方法如果字符串的所有字符都是数字,返回True,否则返回False。

以下是两个示例,演示如何检查字符串是否包含字母或数字:

检查字符串是否包含字母或数字

示例

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

如果字符串不仅包含字母,我们使用isdigit()方法检查字符串是否只包含数字。如果字符串只包含数字,我们打印“该字符串只包含数字。”

如果字符串既不仅包含字母也不仅包含数字,我们打印“该字符串既包含字母也包含数字。”

input_str = input("Enter a string: ")

if input_str.isalpha():
    print("The string has only alphabets.")
elif input_str.isdigit():
    print("The string has only numbers.")
else:
    print("The string has both alphabets and numbers.")

输出

Enter a string: alphabet123
The string has both alphabets and numbers.

示例

在这个例子中,我们定义了一个名为has_alpha_or_num()的函数,它接受一个字符串作为输入,并使用for循环以及isalpha()和isdigit()方法来检查它是否既有字母又有数字。

然后,我们定义了一个名为my_string的字符串,它既有字母又有数字,并使用my_string作为输入调用has_alpha_or_num()函数。由于my_string既有字母又有数字,输出将是”The string has both alphabets and numbers.”

def has_alpha_or_num(input_str):
    has_alpha = False
    has_num = False
    for char in input_str:
        if char.isalpha():
            has_alpha = True
        elif char.isdigit():

            has_num = True
        if has_alpha and has_num:
            return True
    return False

my_string = "abc123"
if has_alpha_or_num(my_string):
    print("The string has both alphabets and numbers.")
else:
    print("The string does not have both alphabets and numbers.")

输出

The string has both alphabets and numbers.

示例

在此示例中,我们使用for循环遍历输入字符串中的每个字符,并使用isalpha()和isdigit()方法检查字符是否为字母或数字。

然后,我们使用两个布尔变量has_alpha和has_num分别跟踪字符串是否具有字母和数字。如果has_alpha和has_num都为True,我们知道字符串既有字母又有数字,然后打印”The string has both alphabets and numbers.”。

如果只有has_alpha为True,我们知道字符串只有字母,然后打印”The string has only alphabets.”。如果只有has_num为True,我们知道字符串只有数字,然后打印”The string has only numbers.”。

如果既不是has_alpha也不是has_num为True,我们知道字符串既没有字母也没有数字,然后打印”The string has neither alphabets nor numbers.”。

input_str = input("Enter a string: ")
has_alpha = False
has_num = False

for char in input_str:
    if char.isalpha():
        has_alpha = True
    elif char.isdigit():
        has_num = True
    if has_alpha and has_num:
        break

if has_alpha and has_num:
    print("The string has both alphabets and numbers.")
elif has_alpha:
    print("The string has only alphabets.")
elif has_num:
    print("The string has only numbers.")
else:
    print("The string has neither alphabets nor numbers.")

输出

Enter a string: #$&*@#
The string has neither alphabets nor numbers.

示例

在这个例子中,我们使用re模块对输入字符串进行正则表达式匹配。

我们使用正则表达式[a-zA-Z]匹配任何字母(大写或小写),使用\d匹配任何数字。我们使用re模块的search()函数在输入字符串中搜索这些模式。

如果在输入字符串中同时找到了[a-zA-Z]和\d,我们就知道该字符串既有字母又有数字,然后打印 “字符串既有字母又有数字”。

如果只找到了[a-zA-Z],我们就知道该字符串只有字母,然后打印 “字符串只有字母”。如果只找到了\d,我们就知道该字符串只有数字,然后打印 “字符串只有数字”。

如果既没有找到[a-zA-Z],也没有找到\d,我们就知道该字符串既没有字母也没有数字,然后打印 “字符串既没有字母也没有数字”。

import re
input_str = input("Enter a string: ")
if re.search(r'[a-zA-Z]', input_str) and re.search(r'\d', input_str):
    print("The string has both alphabets and numbers.")
elif re.search(r'[a-zA-Z]', input_str):
    print("The string has only alphabets.")
elif re.search(r'\d', input_str):
    print("The string has only numbers.")
else:
    print("The string has neither alphabets nor numbers.")

输出

Enter a string: xyz123
The string has both alphabets and numbers.

示例

在这个例子中,我们使用any()函数来检查输入字符串中是否有任何字符满足条件。

我们使用isalpha()方法来检查一个字符是否是字母,使用isdigit()方法来检查一个字符是否是数字。我们通过生成器表达式将每个条件传递给any()函数,以检查输入字符串中是否有任何字符满足条件。

如果输入字符串中既有字母又有数字,我们就知道字符串既有字母又有数字,然后打印”The string has both alphabets and numbers”。

如果只有字母,我们就知道字符串只有字母,然后打印”The string has only alphabets”。如果只有数字,我们就知道字符串只有数字,然后打印”The string has only numbers”。

如果既没有字母也没有数字,我们就知道字符串既没有字母也没有数字,然后打印”The string has neither alphabets nor numbers”。

input_str = input("Enter a string: ")
if any(char.isalpha() for char in input_str) and any(char.isdigit() for char in input_str):
    print("The string has both alphabets and numbers.")
elif any(char.isalpha() for char in input_str):
    print("The string has only alphabets.")
elif any(char.isdigit() for char in input_str):
    print("The string has only numbers.")
else:
    print("The string has neither alphabets nor numbers.")

输出

Enter a string: 5678910
The string has only numbers.

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程