【Python CheckiO 题解】House Password
CheckiO 是面向初学者和高级程序员的编码游戏,使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务,从而提高你的编码技能,本博客主要记录自己用 Python 在闯关时的做题思路和实现代码,同时也学习学习其他大神写的代码。
CheckiO 官网:https://checkio.org/
我的 CheckiO 主页:https://py.checkio.org/user/TRHX/
CheckiO 题解系列专栏:https://itrhx.blog.csdn.net/category_9536424.html
CheckiO 所有题解源代码:https://github.com/TRHX/Python-CheckiO-Exercise
题目描述
【House Password】:斯蒂芬和索菲亚对于一切都使用简单的密码,忘记了安全性。请你帮助尼古拉开发一个密码安全检查模块。如果密码的长度大于或等于10个字符,且其中至少有一个数字、一个大写字母和一个小写字母,该密码将被视为足够强大。密码只包含ASCII拉丁字母或数字。
【链接】:https://py.checkio.org/mission/house-password/
【输入】:密码(字符串类型)
【输出】:密码的安全与否(True 或 False)
【前提】:re.match("[a-zA-Z0-9]+", password) ;0 < len(password) ≤ 64
【范例】:
checkio('A1213pokl') == False
checkio('bAse730onE') == True
checkio('asasasasasasasaas') == False
checkio('QWERTYqwerty') == False
checkio('123456123456') == False
checkio('QwErTy911poqqqq') == True
解题思路
利用 Python 的 re 库,用 search() 方法扫描整个字符串,如果包含一个数字、一个大写字母和一个小写字母并且整个字符串长度大于或等于10个字符,则输出 True,否则输出 False
代码实现
import redef checkio(data: str) -> bool:if re.search(r'[0-9]', data) and re.search(r'[a-z]', data) and re.search(r'[A-Z]', data) and len(data) >= 10:return Trueelse:return False# Some hints
# Just check all conditionsif __name__ == '__main__':# These "asserts" using only for self-checking and not necessary for auto-testingassert checkio('A1213pokl') == False, "1st example"assert checkio('bAse730onE4') == True, "2nd example"assert checkio('asasasasasasasaas') == False, "3rd example"assert checkio('QWERTYqwerty') == False, "4th example"assert checkio('123456123456') == False, "5th example"assert checkio('QwErTy911poqqqq') == True, "6th example"print("Coding complete? Click 'Check' to review your tests and earn cool rewards!")
大神解答
大神解答 NO.1
import redef checkio(data):return True if re.search("^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).*$", data) and len(data) >= 10 else False
大神解答 NO.2
f=lambda d,x:any(ord(t)&96==x for t in d)
checkio=lambda d:f(d,32)&f(d,64)&f(d,96)&(len(d)>9)
原谅我能力不够,看不懂大神写的这代码是啥意思
大神解答 NO.3
checkio=lambda s:len(s)>9and all(any(f(c)for c in s)for f in[str.isdigit,str.isupper,str.islower])
【Python CheckiO 题解】House Password相关推荐
- Python CheckiO 题解系列 丨 博客目录索引
CheckiO 是面向初学者和高级程序员的编码游戏,使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务,从而提高你的编码技能,本题解系列主要记录自己在用 Python 闯关时的做 ...
- 【Python CheckiO 题解】Army Battles
CheckiO 是面向初学者和高级程序员的编码游戏,使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务,从而提高你的编码技能,本博客主要记录自己用 Python 在闯关时的做题思 ...
- 【Python CheckiO 题解】Date and Time Converter
CheckiO 是面向初学者和高级程序员的编码游戏,使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务,从而提高你的编码技能,本博客主要记录自己用 Python 在闯关时的做题思 ...
- 【Python CheckiO 题解】Largest Rectangle in a Histogram
CheckiO 是面向初学者和高级程序员的编码游戏,使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务,从而提高你的编码技能,本博客主要记录自己用 Python 在闯关时的做题思 ...
- 【Python CheckiO 题解】Roman Numerals
CheckiO 是面向初学者和高级程序员的编码游戏,使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务,从而提高你的编码技能,本博客主要记录自己用 Python 在闯关时的做题思 ...
- 【Python CheckiO 题解】Probably Dice
CheckiO 是面向初学者和高级程序员的编码游戏,使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务,从而提高你的编码技能,本博客主要记录自己用 Python 在闯关时的做题思 ...
- 【Python CheckiO 题解】Multicolored Lamp
CheckiO 是面向初学者和高级程序员的编码游戏,使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务,从而提高你的编码技能,本博客主要记录自己用 Python 在闯关时的做题思 ...
- 【Python CheckiO 题解】Time Converter (12h to 24h)
CheckiO 是面向初学者和高级程序员的编码游戏,使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务,从而提高你的编码技能,本博客主要记录自己用 Python 在闯关时的做题思 ...
- 【Python CheckiO 题解】Speech Module
CheckiO 是面向初学者和高级程序员的编码游戏,使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务,从而提高你的编码技能,本博客主要记录自己用 Python 在闯关时的做题思 ...
最新文章
- 剑指offer:构建乘积数组
- iOS UIButton 图片文字上下垂直布局 解决方案
- Linux中的top命令查看内存和cpu信息
- SQL语言基本语句介绍
- [mmu/cache]-ARMV8 MMU内存管理中的Memory attributes和Cache policies
- 介绍一个代码管理系统-Git
- python to_excel新增sheet_Python使用xlrd和xlwt读写Excel的简单用法
- php sql注入审计,php审计基础一:sql注入
- Android USB Camera(2) : UVC协议分析
- AMOS分析技术:模型的群组分析;AMOS如何对同一个模型分别用男性数据和女性数据拟合?
- arcgis字段计算器python_ArcGIS字段计算器(Python篇)——字段查重等问题汇总
- 74LS138设计一位二进制全减器
- Word文档怎样修改纸张的方向?分享方法!word文档如何更改纸张的方向?
- 自媒体创作的注意事项,一篇好的文章需要具备哪些要素?
- 使用CreateJS制作动画
- python手机脚本精灵使用教程_pygame 精灵的行走及二段跳的实现方法(必看篇)
- RuntimeError: applying transform <monai.transforms.croppad.dictionary.RandCropByPosNegLabeld object
- 真能处,180公里的纯电续航,这款车居然一点都没亏
- 如何构建一个新闻搜索引擎
- STM32CUBEMX配置教程(八)STM32串口轮询发送中断接收+重定义+优化
热门文章
- 十二:内存简单介绍和OC的内存管理
- 【BZOJ-2937】建造酿酒厂 前缀和 + 展环为链 + 乱搞
- Python 网页编程- Pyramid 安装测试
- 【转】在C#中使用SQLite
- 修改value_EXCEL批量名称修改
- 修改小程序swiper 点的样式_高质量的微信小程序样式模板应该长什么样?
- OpenCV函数cvFindContours
- matplotlib 热力图_5分钟入门 Seaborn 热力图可视化
- Spring MVC搭建REST风格网站
- solr 7 mysql导入_solr 7.7.0 windows 导入mysql数据库数据