Определение функции Python

Я пытаюсь написать функцию, которая имеет один параметр, который возвращает True, если все символы в строке являются строчными или строчными буквами ASCII, а строка не пуста. Я хочу, чтобы в противном случае он возвращал 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
источник поделиться
2 ответа

Почти правильно. Вот рабочая версия:

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
+4
источник

Для этого уже есть встроенная функция.

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

Вы также можете импортировать буквы ascii:

from string import ascii_letters, digits, punctuation, ascii_lowercase

Не изобретайте колесо: "D

+2
источник

Посмотрите другие вопросы по меткам или Задайте вопрос