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