学会python——密码校验(python实例三)

目录

1、认识Python

2、环境与工具

2.1 python环境

2.2 pycharm编译

3、纠正密码输入的格式问题

3.1 代码构思

3.2 代码示例

 3.3 运行结果

4、总结


1、认识Python

Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。

Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字或标点符号,它具有比其他语言更有特色的语法结构。

 

2、环境与工具

2.1 python环境

在Windows上使用命令行窗口查看所安装的python版本

python 

 

2.2 pycharm编译

在这里可以直接使用社区版的pycharm进行代码编译。

 

3、纠正密码输入的格式问题

3.1 代码构思

登录密码在设置的时候为了保证其复杂性,往往需要满足由大写字母、小写字母、符号、数字组成,并且不能少于8位。

在这则代码中使用大写、小写、符号、数字识别方法,作为检验的方式,来辨别设置的密码的格式是否由问题

3.2 代码示例

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
        #如果是其他字符
        if not(char.isalpha()|char.isdigit()|char.isspace()):
            check[3]=1
    #当列表中的四个元素之和小于4说明不符合
    if sum(check)<4:
        return False
    else:
        return True
    #检查是否有四位以上是重复的
def check_rep(pwd):
        n=len(pwd)
        for i in range (n-4):
            str1=pwd[i:i+4]
            str2=pwd[i+4::]
            if str1 in str2:
                return False
        return True
if __name__ == '__main__':
    msg='''
    请设置密码:
    密码必须由大写字母、小写字母、符号、数字组成,并且不能少于8位
    '''
    print(msg)
    while True:
        pwd=input('请输入密码')
    #退出程序
        if pwd=='q':
            print("退出")
            break
    #查询位数
        vcheck1=check_len(pwd)
        if not vcheck1:
            print("位数不对")
            continue
    #查询符号组成
        vcheck2=check(pwd)
        if not vcheck2:
            print("密码组成必须是大写字母+小写字母+数字+符号")
            continue
    #查询有无重复
        vcheck3=check_rep(pwd)
        if not vcheck3:
            print("密码有重复字符串")
            continue
        print("密码格式正确")
        break

 3.3 运行结果

在输入的时候要严格按照密码中含有大写字母、小写字母、符号、数字,并且不能少于8位的条件进行输入,否则就会报错。

4、总结

通过这一则代码,展示了在注册账号时候为什么要求输入多种格式的密码,展示了密码检验的底层逻辑。

相关推荐

  1. Python实现ANSI CRC16校验算法

    2024-06-15 08:54:02       21 阅读
  2. Python实现单字母密码算法

    2024-06-15 08:54:02       42 阅读
  3. Python3:数据校验机制

    2024-06-15 08:54:02       12 阅读
  4. 学习python

    2024-06-15 08:54:02       26 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-15 08:54:02       14 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-15 08:54:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-15 08:54:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-15 08:54:02       18 阅读

热门阅读

  1. mysql的主从同步

    2024-06-15 08:54:02       7 阅读
  2. Linux时间子系统4:时钟源clocksource

    2024-06-15 08:54:02       6 阅读
  3. 超文本标记语言(HTML)简介

    2024-06-15 08:54:02       6 阅读
  4. Web Works API 和 Promise 的对比和区别

    2024-06-15 08:54:02       7 阅读
  5. 音视频开发-- 坑整理

    2024-06-15 08:54:02       6 阅读
  6. Pod中使用自定义服务账号调用自定义资源

    2024-06-15 08:54:02       8 阅读
  7. 使用dockerfile能力构建制品并打包容器

    2024-06-15 08:54:02       6 阅读
  8. C# 泛型分析

    2024-06-15 08:54:02       6 阅读