题目:字符串验证--String Validators

题目要求:
给定一个字符串s. 你的任务是找出字符串s是否包含:字母数字字符、字母字符、数字、小写字符和大写字符。
输出格式
第一行,如果s包含任意字母数字字符,打印True
,否则打印False
。 第二行,如果s包含任意字母字符,打印True
,否则打印False
。 第三行,如果s包含任何数字,打印True
,否则打印False
。 第四行,如果s包含任意小写字符,打印True
,否则打印False
。 第五行,如果s包含任意大写字符,打印True
,否则打印False
。
解题代码:
方法1:
def string_validator(s):
# 直接检查字符类型
has_digit = any(c.isdigit() for c in s)
has_lower = any(c.islower() for c in s)
has_upper = any(c.isupper() for c in s)
return {'digit' if has_digit else '',
'lower' if has_lower else '',
'upper' if has_upper else ''} - {''}
if __name__ == '__main__':
s = input().strip()
types = string_validator(s)
print(bool(types)) # 包含任意一种
print('lower' in types or 'upper' in types) # lower或upper
print('digit' in types)
print('lower' in types)
print('upper' in types)
方法2:
str.isalnum():检查字符串的所有字符是否都是字母数字
str.isalpha():检查字符串的所有字符是否都是字母
str.isdigit():检查字符串的所有字符是否都是数字
str.islower():检查字符串的所有字符是否都是小写字符
str.isupper():检查字符串的所有字符是否都是大写字符
if __name__ == '__main__':
s = input().strip()
print(any(i.isalnum() for i in s))
print(any(i.isalpha() for i in s))
print(any(i.isdigit() for i in s))
print(any(i.islower() for i in s))
print(any(i.isupper() for i in s))
文章评论