判断密码强弱

python 字符串

str.isnumeric() 检测字符串是否只由数字组成
str.isalpha() 检测字符串是否只由字母组成
str.islower() 检测字符串中的字母是否都为小写
str.isupper 检测字符串中所有的字母是否都为大写

更多isxxx()方法请参考:
https://docs.python.org/3/library/stdtypes.html#string-methods

循环的终止

  • break 语句
    终止整个循环
    例如:0除以2的余数为0,break 语句,终止整个循环,因此无输出
    break
  • continue 语句
    只终止本次循环,而不终止整个循环的执行
    例如:0除以2的余数为0,本次循环终止,但不终止整个循环的执行;
    1除以2的余数不为0,循环不终止,继续运行,执行print()语句;
    ······
    在这里插入图片描述
    文件的基础
  • 文件:存储在外部介质(如:硬盘)上的数据或信息的集合
  • 文本文件:一般只有字符编码储存的文件,能够被最简单的文本编辑器直接读取
  • 编码:信息从一种形式转换为另一种形式的过程
  • 常用的编码:ASCLL,Unicode,UTF-8…
  • 多行文本,用\n 表示换行

文件的操作

  • 步骤:打开文件 —>操作文件(读、写等)—> 关闭文件
  • 1.打开文件:建立文件与程序的关联
    open (filename, mode)
    filename : 文件名(包括路径名);
    mmode : 打开模式
打开模式 含义
r 只读,文件不存在则报错
w 只写,文件不存在则自动创建
a 在文件末尾附加
r+ 读写
  • 2.操作文件:写入,读取,等

    • 写入操作:将计算机内存向文件写入数据
    • write() :将文本数据写入文件中
    • writelines() : 将字符串列表写入文件中
  • 3.关闭文件:终止程序与文件的关联

    • close()
  • 4.读取操作:从文件中读取数据到计算机内存中

  • read() :返回值为包含整个文件内容的一个字符串

  • readline() :返回值为文件下一行内容的字符串

  • readlines() :返回值为整个文件内容的列表,么想是以换行符为结尾的一行字符串

  • 文件的遍历

f = open ('tmp.txt','r')
for line in f.readlines() :
	#处理一行数据
	pass
f.close()
f = open ('tmp.txt','r')
for line in f:
	#处理一行数据
	pass
f.close()

面向过程VS面向对象

  • 面向过程(POP):以程序执行过程为设计流程的编程思想(例:流程图)

  • 面向对象(OOP)以事务为中心的编程思想

  • 什么是对象(Object)?

  • 现实世界找那个的对象:属性、行为

  • 对象例子:
    波斯猫,属性:品种、颜色、大小
    行为:叫、捉老鼠

  • 类(class):某种类型集合的描述

  • 属性:类本身的一种特性

  • 方法:类所能实现的行为

  • 类的定义:
    class ClassName
    __init __(self)构造函数 : 初始化对象的各属性
    self代表的类的实例
    类到对象,是一个实例化的过程
    对象到类,是一个抽象的过程
    面向对象特点

  • 封装
    将数据及相关操作打包在一起
    支持代码复用

  • 继承
    子类(subclass)借用父类(superclass)
    避免重复操作,提升代码复用程度
    定义 class ClassName (SuperClassName)

  • 多态
    在不同情况下用同一个函数名启用不同方法
    灵活性

版本:1.0

"""
    作者:陈洁
    功能:判断密码强度
    版本:1.0
    日期:08/10/2019
"""


def check_number_exist(password_str):
    """
        判断字符中是否含有数字
    """
    for c in password_str:
        if c.isnumeric():
            #当函数在运行中,遇到return语句会提前终止函数,跳出函数
            return True
    return False


def check_letter_exist(password_str):
    """
    判断字符中是否含有字母
    """
    for c in password_str:
        if c.isalpha():
            return True
    return False


def main():
    """
    主函数
    """
    password = input('请输入密码:')

    #密码强度
    strength_level = 0

    #规则一:密码强度大于8
    if len(password) >= 8:
        strength_level += 1
    else:
        print('密码强度要求至少8位!')

    #规则二:包含数字
    if check_number_exist(password):
        strength_level += 1
    else:
        print('密码要求包含数字!')

    #规则三:包含字母
    if check_letter_exist(password):
        strength_level += 1
    else:
        print('密码要求包含字母!')

    if strength_level == 3:
        print('恭喜!密码强度合格!')
    else:
        print('抱歉!密码强度不合格!')


if __name__ =='__main__':
    main()
</
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值