学会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、总结

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

相关推荐
Java后端的Ai之路5 小时前
【Python 教程15】-Python和Web
python
冬奇Lab6 小时前
一天一个开源项目(第15篇):MapToPoster - 用代码将城市地图转换为精美的海报设计
python·开源
灰子学技术8 小时前
go response.Body.close()导致连接异常处理
开发语言·后端·golang
二十雨辰8 小时前
[python]-AI大模型
开发语言·人工智能·python
Yvonne爱编码9 小时前
JAVA数据结构 DAY6-栈和队列
java·开发语言·数据结构·python
Re.不晚9 小时前
JAVA进阶之路——无奖问答挑战1
java·开发语言
你这个代码我看不懂9 小时前
@ConditionalOnProperty不直接使用松绑定规则
java·开发语言
pas1369 小时前
41-parse的实现原理&有限状态机
开发语言·前端·javascript
琹箐9 小时前
最大堆和最小堆 实现思路
java·开发语言·算法
前端摸鱼匠10 小时前
YOLOv8 环境配置全攻略:Python、PyTorch 与 CUDA 的和谐共生
人工智能·pytorch·python·yolo·目标检测