Python 判断密码等级的强弱,不使用正则表达式

简介: 转载请标明出处: http://blog.csdn.net/DJY1992/article/details/72845025 本文出自:【奥特曼超人的博客】编写一个函数,接收一个字符串作为参数,判断该字符串作为密码的话其安全强度如何。

转载请标明出处:
http://blog.csdn.net/DJY1992/article/details/72845025
本文出自:【奥特曼超人的博客】



编写一个函数,接收一个字符串作为参数,判断该字符串作为密码的话其安全强度如何。如果字符串中只包含大写字母、小写字母、数字字符或标点符号中的一种则为弱密码,包含两种为中低安全密码,包含三种为中高安全密码,包含四种则为强密码。

老师说,不许使用正则表达式哦

大家可以在群里讨论,或者直接把你的答案写在评论里哦~

题目地址:http://blog.csdn.net/baiyuzhong2012/article/details/72841797



这里留下我的答案:

#舍弃了
def pwdType(str):

        """
           if(str.isupper()|str.istitle()|str.isalnum()):
                #所有单词都是首字母大写
                if(str.istitle()): 
                #所有字符都是大写
                if(str.isupper()): 
                #所有字符都是小写 
                if(str.islower()): 
                #所有字符都是数字 
                if(str.isdigit()):
                # 所有字符都是字母
                if(str.isalpha()):
                #所有字符都是数字或者字母 
                if(str.isalnum()):
        """

        return 

#拆分矩阵查询
def isPwdLevel(strs):
        #模拟底层
        special = ['!','@','#','$','%','^','&','*','(',')','-','_','+','=','{','}',';',':','[',']',';',':','\"','\\','|',',','<','.','>','/','?','~','`']       
        engUpper = ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z']
        engLower = ['a','b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
        engNums = ['0','1','2','3','4','5','6','7','8','9']
        abc = list(strs)
        flag = 0
        flagSp = 0
        flagUp = 0
        flagLo = 0
        flagNu = 0
        for i in abc: 
            for k in special:
                if(i==k):
                    print("包含特殊字符")
                    flagSp = 1
            for k in engLower:
                if(i==k):
                    print("包含小写字母") 
                    flagUp = 1               
            for k in engUpper:
                if(i==k):
                    print("包含大写字母")
                    flagLo = 1       
            for k in engNums:
                if(i==k):
                    print("包含数字")
                    flagNu = 1

        #编写一个函数,接收一个字符串作为参数,判断该字符串作为密码的话其安全强度如何。
        #如果字符串中只包含大写字母、小写字母、数字字符或标点符号中的一种则为弱密码,
        #包含两种为中低安全密码
        #包含三种为中高安全密码
        #包含四种则为强密码。
        flag = (flagSp+flagNu+flagLo+flagUp)

        return flag

这样写方便操作元素,在Main方法里面调用一下就完成了。


if __name__=="__main__":

    #pwd = "Ab4##\""  
    pwd = "Karl-Dujinyang-309933706@qq.com"
    ret = isPwdLevel(pwd)
    vat = isinstance(ret, int)

    print(ret)
    if(vat == True):
        if(ret == 4):
            print("-强密码-")
        elif(ret == 3):
            print("-中高安全密码-")
        elif(ret == 2):
            print("-中低安全密码-")
        elif(ret == 1):
            print("-弱密码-")

运行效果:

奥特曼超人杜锦阳

(如有 错误或者更优方法欢迎指出)

|| 版权声明:本文为博主杜锦阳原创文章,转载请注明出处。

相关文章
|
10月前
|
数据采集 监控 数据安全/隐私保护
Python正则表达式:用"模式密码"解锁复杂字符串
正则表达式是处理字符串的强大工具,本文以Python的`re`模块为核心,详细解析其原理与应用。从基础语法如字符类、量词到进阶技巧如贪婪匹配与预定义字符集,结合日志分析、数据清洗及网络爬虫等实战场景,展示正则表达式的强大功能。同时探讨性能优化策略(如预编译)和常见错误解决方案,帮助开发者高效掌握这一“瑞士军刀”。最后提醒,合理使用正则表达式,避免过度复杂化,追求简洁优雅的代码风格。
275 0
|
机器学习/深度学习 存储 算法
解锁文件共享软件背后基于 Python 的二叉搜索树算法密码
文件共享软件在数字化时代扮演着连接全球用户、促进知识与数据交流的重要角色。二叉搜索树作为一种高效的数据结构,通过有序存储和快速检索文件,极大提升了文件共享平台的性能。它依据文件名或时间戳等关键属性排序,支持高效插入、删除和查找操作,显著优化用户体验。本文还展示了用Python实现的简单二叉搜索树代码,帮助理解其工作原理,并展望了该算法在分布式计算和机器学习领域的未来应用前景。
|
11月前
|
人工智能 算法 数据安全/隐私保护
[oeasy]python080如何生成验证码_随机数字密码_真随机
本文介绍了如何生成随机验证码的过程,从简单的随机数字生成到包含数字、大小写字母及符号的复杂验证码。通过 Python 的 `random` 和 `string` 模块,逐步扩展字符集并确保结果满足特定要求(如包含各类字符)。同时探讨了随机数生成的本质,指出计算机中的“随机”实际上是基于算法和种子值的伪随机,并非真正的物理随机。最后总结了验证码的生成原理及其在实际应用中的意义,为读者揭开日常生活中验证码背后的编程逻辑。
455 8
|
Python
在Python中,可以使用内置的`re`模块来处理正则表达式
在Python中,可以使用内置的`re`模块来处理正则表达式
343 5
|
数据采集 Web App开发 iOS开发
如何使用 Python 语言的正则表达式进行网页数据的爬取?
使用 Python 进行网页数据爬取的步骤包括:1. 安装必要库(requests、re、bs4);2. 发送 HTTP 请求获取网页内容;3. 使用正则表达式提取数据;4. 数据清洗和处理;5. 循环遍历多个页面。通过这些步骤,可以高效地从网页中提取所需信息。
|
Python
Python 正则表达式高级应用指南
正则表达式是文本模式匹配的强大工具,Python 的 `re` 模块支持其操作。本文介绍正则表达式的高级应用,包括复杂模式匹配(如邮箱、电话号码)、分组与提取、替换操作、多行匹配以及贪婪与非贪婪模式的区别。通过示例代码展示了如何灵活运用这些技巧解决实际问题。
246 7
|
数据安全/隐私保护 Python
Python实用正则表达式归纳
Python实用正则表达式归纳
277 3
|
Python
【收藏备用】Python正则表达式的7个实用技巧
【收藏备用】Python正则表达式的7个实用技巧
218 1
|
供应链 数据挖掘 数据处理
聚合数据,洞察未来!Python聚合术,解锁数据背后的商业密码!
在数据泛滥的时代,数据聚合成为企业决策的关键。它通过整合不同来源的数据,揭示隐藏规律与趋势,为科学决策提供依据。Python凭借其丰富的库如Pandas和NumPy,在数据聚合中表现出色,简化了数据处理流程。通过示例展示了如何使用Pandas对销售数据进行聚合分析,帮助企业优化库存管理、调整策略,预测需求,在竞争中脱颖而出。
250 5
|
索引 Python
30天拿下Python之正则表达式
30天拿下Python之正则表达式
164 1