我是靠谱客的博主 文静小鸽子,最近开发中收集的这篇文章主要介绍Python编程实例04——简单密码校验系列目录前言一、编程要点二、代码实现总结,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

系列目录

上一篇:Python编程实例03——对英文文本进行分词


目录

  • 系列目录
  • 前言
  • 一、编程要点
  • 二、代码实现
  • 总结


前言

关键词:密码校验


一、编程要点

密码校验主要用到判断字符性质的函数,主要如下:

  • vbool=str.isdigit()函数判断字符串或字符是否是数字,其中str是字符串或字符,返回vbool是布尔型变量,如果str是数字返回True,反之则返回False。
  • vbool=str.isalpha()函数判断字符串或字符是否是字母。
  • vbool=str.isspace()函数判断字符是否是空格。
  • vbool=str.isupper()函数判断字符串或字符是否是大写字母。
  • vbool=str.islower()函数判断字符串或字符是否是小写字母。

二、代码实现

#判断字符串的长度
def check_len(pwd):
    if len(pwd) >= 8:
        return True
    else:
        return False

#判断字符串是否符号组合    
def check(pwd):
    check = [0,0,0,0]
    for char in pwd:
        #判断是否包含小写字母
        if char.islower():
            check[0]=1
        #判断是否包含大写字母
        if char.isupper():
            check[1]=1
        #判断是否包含数字
        if char.isdigit():
            check[2]=1
        #判断是否包含其他符号(除字母or数字or空格)
        if not(char.isalpha() | char.isdigit()| char.isspace()):
            check[3]=1
    #sum不全为4,说明不符合,全为4则符合
    if sum(check) < 4:
        return False
    else:
        return True

#判断是否重复4位
def check_rep(pwd):
    n = len(pwd)
    for i in range(n-4):
        #str1,表示任取从i起的4个字符
        str1 = pwd[i:i+4]
        #str2,表示对从i+1后的字符串对比
        str2 = pwd[i+1::]
        if str1 in str2:
            return False
    return True

#主函数
if __name__ == '__main__':
    msg='''
    1、密码长度不小于8位
    2、密码必须由大小写字母、数字、其他符号组成
    3、密码不能重复超过4位
    (按q退出)
    '''
    print(msg)
    while True:
        pwd = input('请输入密码:')
        if pwd == 'q':
            print('退出程序。。。')
            break
        vcheck1 = check_len(pwd)
        if not vcheck1:
            print("密码长度不够8位,请重新输入!")
            continue
        vcheck2 = check(pwd)
        if not vcheck2:
            print("密码组成不符合!请重新录入")
            continue
        vcheck3 = check_rep(pwd)
        if not vcheck3:
            print("密码包含4位以上的重复,请查看并重新输入")
            continue
        print("密码正确")
        break

运行效果:

1、密码长度不小于8位
2、密码必须由大小写字母、数字、其他符号组成
3、密码不能重复超过4位
(按q退出)
请输入密码:1#tT123
密码长度不够8位,请重新输入!
请输入密码:test11111T#
密码包含4位以上的重复,请查看并重新输入
请输入密码:test#4568
密码组成不符合!请重新录入
请输入密码:tTest#1238
密码正确


总结

还记得以前学习C语言的时候,这个也是基础入门案例,今天通过python又实现了一次,算是留个纪念吧。

最后

以上就是文静小鸽子为你收集整理的Python编程实例04——简单密码校验系列目录前言一、编程要点二、代码实现总结的全部内容,希望文章能够帮你解决Python编程实例04——简单密码校验系列目录前言一、编程要点二、代码实现总结所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(65)

评论列表共有 0 条评论

立即
投稿
返回
顶部