• PAT B1081 检查密码


    题目描述:

    本题要求你帮助某网站的用户注册模块写一个密码合法性检查的小功能。该网站要求用户设置的密码必须由不少于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.')
  • 相关阅读:
    数字图像-概述
    Python-python打包编译成pyd或者.so,保护代码。
    计算机组成原理-概述
    9大开源云管理平台(CMP)
    计算机组成原理-CPU-CPU知识科普:秒懂主频、核心、线程、缓存、架构详解
    svn git协同管理
    DEVTMPFS
    关于flash擦除的方法
    SQLServer强制保存
    360极速浏览器无法正确getHours
  • 原文地址:https://www.cnblogs.com/syq816/p/12670396.html
Copyright © 2020-2023  润新知