我要检查字符串中的字符是数字、空格、大写/小写字符还是特殊字符".'*^?...“
我想出的解决方案不是很巧妙,而且如果不在else语句中添加额外的行,它就不能检查特殊字符。
def checker(str1):
if str1.isspace() is True:
print('it\'s a space')
if str1.isupper() is True:
print('it\'s a letter and it\'s upper')
if str1.islower() is True:
print('it\'s a letter and it\'s lower')
if str1.isdigit() is True:
print('it\'s a digit')
if str1.isascii() is True:
print('it\'s a special chracter')
string_letter = 'A'
checker(string_letter)这段代码可以工作..。如果我为特殊字符创建一些额外的子句,因为现在只是说空格是一个特殊字符……这是因为.isascii()对于特殊字符来说太宽了。
有没有我怀念的本机方法可以更优雅地完成该功能?又名给出字符串中某个字符的信息?
我是python的新手,所以很抱歉,也许我找不到本机解决方案,因为我对术语还不是很熟练。
发布于 2019-09-22 12:09:59
使用elif并将特殊字符检查器放在最后。
def checker(str1):
if str1.isspace():
print('it\'s a space')
elif str1.isupper():
print('it\'s a letter and it\'s upper')
elif str1.islower():
print('it\'s a letter and it\'s lower')
elif str1.isdigit():
print('it\'s a digit')
elif str1.isascii():
print('it\'s a special chracter')
string_letter = '&'
checker(string_letter)然后,
it's a special chracterhttps://stackoverflow.com/questions/58045167
复制相似问题