定义函数Python

定义函数Python,python,function,Python,Function,我正在尝试编写一个函数,该函数有一个参数,如果字符串中的所有字符都是大写或小写ASCII字母,并且字符串不是空的,那么该参数将返回True。我希望它返回False,否则。我看得出我做错了 ASCII_LOWERCASE = "abcdefghijklmnopqrstuvwxyz" ASCII_UPPERCASE = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" DECIMAL_DIGITS = "0123456789" def is_alpha(a_string):

我正在尝试编写一个函数,该函数有一个参数,如果字符串中的所有字符都是大写或小写ASCII字母,并且字符串不是空的,那么该参数将返回True。我希望它返回False,否则。我看得出我做错了

ASCII_LOWERCASE = "abcdefghijklmnopqrstuvwxyz"
ASCII_UPPERCASE = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
DECIMAL_DIGITS = "0123456789"


def is_alpha(a_string):   
    if a_string in ASCII_LOWERCASE or ASCII_UPPERCASE:
            for i in ASCII_LOWERCASE or ASCII_UPPERCASE:
            return "True"

几乎正确。以下是一个工作版本:

ASCII_LOWERCASE = "abcdefghijklmnopqrstuvwxyz"
ASCII_UPPERCASE = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
DECIMAL_DIGITS = "0123456789"


def is_alpha(a_string):
    if not a_string:
        return False
    for c in a_string:
        if not (c in ASCII_LOWERCASE or c in ASCII_UPPERCASE):
            return False
    return True


print is_alpha('')
print is_alpha('ABCabc')
print is_alpha('ABC123')
结果:

False
True
False

这已经有一个内置的功能

>>> "Hello one".isalpha()
True
>>> "Hello 2".isalpha()
False
>>> "".isalpha()
False
您还可以导入ascii字母:

from string import ascii_letters, digits, punctuation, ascii_lowercase
不要重新发明轮子:'D

s.upper()
s.lower()
也可以用来避免前两个字符串包含所有字母