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

目录

1、认识Python

2、环境与工具

[2.1 python环境](#2.1 python环境)

[2.2 pycharm编译](#2.2 pycharm编译)

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

[3.1 代码构思](#3.1 代码构思)

[3.2 代码示例](#3.2 代码示例)

[3.3 运行结果](#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、总结

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

相关推荐
灯澜忆梦8 小时前
GO_并发编程---定时器
开发语言·后端·golang
-银雾鸢尾-8 小时前
C#中的StringBuilder相关方法
开发语言·c#
-银雾鸢尾-9 小时前
C#中结构体与类的区别;抽象类与接口的区别
开发语言·c#
大模型码小白10 小时前
【Python零基础教程】继承、多态与魔法函数:面向对象编程三大核心特性详解
java·大数据·开发语言·人工智能·python·ai编程
麻雀飞吧10 小时前
最新量化学习路径,交易认知和技术实现要并行
人工智能·python
段一凡-华北理工大学11 小时前
向量数据库实战:选型、调优与落地~系列文章12:文本分块策略实战:chunk_size 怎么选?重叠多少?
开发语言·数据库·后端·oracle·rust·工业智能体·高炉智能化
Ljwuhe12 小时前
C++——多态
开发语言·c++
心平气和量大福大12 小时前
C#-WPF-Window主窗体
开发语言·c#·wpf
从零开始的代码生活_14 小时前
C++ 继承详解:访问控制、对象模型、菱形继承与设计取舍
开发语言·c++·后端·学习·算法
云小逸14 小时前
【C++ 第七阶段:模板、泛型编程与工程综合详解】
开发语言·c++