PTA 1081 检查密码 (15 分)

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

题目


本题要求你帮助某网站的用户注册模块写一个密码合法性检查的小功能。该网站要求用户设置的密码必须由不少于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.

解题思路

N = int(input())
# N = int(5)
for _ in range(N):
    inputStr = str(input())
    # inputStr = str("pass*word.6")
    # print(inputStr.isnumeric())
    # print(len(inputStr))
    if len(inputStr)<6:
        print("Your password is tai duan le.")
        continue
    hasZimu = False
    hasShuzi = False
    hasBuhefazimu = False
    for i in inputStr:
        if i.isalpha():
            hasZimu = True
        if i.isnumeric():
            hasShuzi = True
        if i.isalpha() == False and i.isnumeric() == False and i != ".":
            hasBuhefazimu = True
    if hasBuhefazimu:
        print("Your password is tai luan le.")
        continue
    if hasZimu == True and hasShuzi == False:
        print("Your password needs shu zi.")
    elif hasZimu == False and hasShuzi == True:
        print("Your password needs zi mu.")
    elif hasZimu == True and hasShuzi == True:
        print("Your password is wan mei.")


目录
相关文章
|
3月前
|
C++
【PTA】L1-016 验证身份(C++)
【PTA】L1-016 验证身份(C++)
40 0
【PTA】L1-016 验证身份(C++)
|
4月前
|
数据安全/隐私保护
HJ20 密码验证合格程序
HJ20 密码验证合格程序
23 0
|
5月前
|
存储
【每日一题Day193】LC1376通知所有员工所需的时间 | dfs
【每日一题Day193】LC1376通知所有员工所需的时间 | dfs
27 0
|
5月前
【每日一题Day197】LC2432处理用时最长的那个任务的员工 | 枚举
【每日一题Day197】LC2432处理用时最长的那个任务的员工 | 枚举
27 0
|
7月前
|
数据安全/隐私保护
华为机试HJ20:密码验证合格程序
华为机试HJ20:密码验证合格程序
|
9月前
|
机器学习/深度学习 数据安全/隐私保护
(leecode)密码检查
小明同学最近开发了一个网站,在用户注册账户的时候,需要设置账户的密码,为了加强账户的安全性,小明对密码强度有一定要求: 1. 密码只能由大写字母,小写字母,数字构成; 2. 密码不能以数字开头; 3. 密码中至少出现大写字母,小写字母和数字这三种字符类型中的两种; 4. 密码长度至少为8
44 0
(leecode)密码检查
|
11月前
|
Linux 数据安全/隐私保护
Linux权权限系统(假设系统第一个用户名为admin)限系统(假设系统第一个用户名为admin)
Linux权权限系统(假设系统第一个用户名为admin)限系统(假设系统第一个用户名为admin)
42 0
|
安全
【每日一题Day111】LC1604警告一小时内使用相同员工卡大于等于三次的人 | 哈希表+排序
使用哈希表统计每位员工使用工卡的所有时间节点,将时间转化为分钟的形式,方便后续统计一小时内使用次数大于等于3的员工
63 0
【每日一题Day76】LC2042检查句子中的数字是否递增 | 模拟
• 思路:通过split函数获得以空格为分割符的子字符串,判断当前子字符串首字母是否为数字,若是数字,那么与之前出现的数字进行比较,如果不为递增顺序,返回false
63 0