定义函数Python

时间:2015-02-25 23:53:11

标签: python function

我正在尝试编写一个函数,如果字符串中的所有字符都是大写或小写的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"

2 个答案:

答案 0 :(得分:4)

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

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

答案 1 :(得分:2)

此处已有内置功能。<​​/ p>

>>> "Hello one".isalpha()
True
>>> "Hello 2".isalpha()
False
>>> "".isalpha()
False

您还可以导入ascii字母:

from string import ascii_letters, digits, punctuation, ascii_lowercase

不要重新发明轮子:'D