题目描述:

本题要求你帮助某网站的用户注册模块写一个密码合法性检查的小功能。该网站要求用户设置的密码必须由不少于6个字符组成,并且只能有英文字母、数字和小数点 .,还必须既有字母也有数字。

输入格式:

输入第一行给出一个正整数 N(≤ 100),随后 N 行,每行给出一个用户设置的密码,为不超过 80 个字符的非空字符串,以回车结束。

输出格式:

对每个用户的密码,在一行中输出系统反馈信息,分以下5种:

  • 如果密码合法,输出Your password is wan mei.
  • 如果密码太短,不论合法与否,都输出Your password is tai duan le.
  • 如果密码长度合法,但存在不合法字符,则输出Your password is tai luan le.
  • 如果密码长度合法,但只有字母没有数字,则输出Your password needs shu zi.
  • 如果密码长度合法,但只有数字没有字母,则输出Your password needs zi mu.

输入样例:

5
123s
zheshi.wodepw
1234.5678
WanMei23333
pass*word.6
 

输出样例:

Your password is tai duan le.
Your password needs shu zi.
Your password needs zi mu.
Your password is wan mei.
Your password is tai luan le.

解题思路:通过正则表达式来匹配每个字符进而判断是否符合情况

import re

N = input()

for x in range(0, int(N)):
user_pass = input()
if len(user_pass) < 6:
print('Your password is tai duan le.')
elif not re.findall('\d', user_pass): # 没有数字的情况
print('Your password needs shu zi.')
elif not re.findall('[A-Za-z]', user_pass): # 没有字母的情况
print('Your password needs zi mu.')
elif re.findall('[^A-Z^a-z^0-9^\.]', user_pass): # 有其他符号的情况
print('Your password is tai luan le.')
else:
print('Your password is wan mei.')

最新文章

  1. JavaScript高级程序设计学习笔记--DOM
  2. SCN
  3. P2P资料
  4. struts2视频学习笔记 22-23(基于XML配置方式实现对action的所有方法及部分方法进行校验)
  5. Redis系列-存储篇list主要操作函数小结
  6. ASP.NET MVC4学习笔记之Controller激活的扩展
  7. INTEL XDK 真机调试
  8. 如果是除去末尾特定字符或字符串:TrimEnd方法性能优于Remove方法
  9. Ubuntu上搭建Watir-Webdriver与Cucumber环境
  10. MySQL(6):数据操作
  11. 经典dp 编辑距离
  12. 2015 多校联赛 ——HDU5294(最短路,最小切割)
  13. js获取元素宽高、位置相关知识汇总
  14. presto中ldaps配置完整流程
  15. 04 Django REST Framework 认证、权限和限制
  16. Ubuntu下vim打开文件时,提示请按ENTER或其它命令继续
  17. 面试 6:拓展性更好的代码,更容易拿到 Offer
  18. LeetCode Weekly Contest 32
  19. dict使用
  20. java 块语句 和引用类型

热门文章

  1. linux作业--第五周
  2. Redis安装——windows版
  3. Django基础二静态文件和ORM
  4. C++移动语义 详细讲解【Cherno C++教程】
  5. Java基础——类与接口
  6. 4.监控Redis--单节点
  7. office online在线预览服务与https的tls证书兼容问题
  8. source insight新建工程
  9. WebGPU 工具分享 - WGSL 代码高亮插件(VSCode)与预处理工具
  10. Spring Boot 2.X 有什么新特性?与 1.X 有什么区别?