天天蓝海

  • 首页
  • Python学习
    • HackRank挑战
  • 纪念墙
天天蓝海
学习、记录
  1. 首页
  2. Python学习
  3. HackRank挑战
  4. 正文

【Python学习】-Hackrank挑战-字符串-字符串验证

2025年3月10日 248点热度 0人点赞 0条评论

题目:字符串验证--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))
标签: HackRank Challenge
最后更新:2025年3月10日

timmyblue

我们没有说再见,只是很默契的没有打扰。

点赞
< 上一篇
下一篇 >

归档

  • 2025 年 3 月
  • 2025 年 2 月

分类

  • HackRank挑战
  • Python学习

Copyright © 天天蓝海 All Rights Reserved.

苏ICP备2025161349号