密码强度检测器

156 篇文章 3 订阅

我的CSDN主页

   python“每日一练”

  1. 题目
  2. 代码运行效果
  3. 完整代码
  4. 我的博文推荐
  5. 基础更熟代码更优——再炼同类问题(2022-11-27试炼)

练习题目

   定义一个名为“isStrongPassword”的函数,该函数将字符串作为参数,功能是将检查所提供的字符串是否满足以下条件,以检查是否为强密码:

在这里插入图片描述

  该函数将返回一个布尔值,即如果满足所有条件将返回True,否则返回False。确保使用可能返回False值的每个可能的输入来测试函数也一样。

回首页

代码运行效果

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述


回首页

python完整代码
(如果从语句注释不能清楚作用,请评论区留言指教和探讨。🤝)
#/sur/bin/nve python
# coding: utf-8


#fileName = 'isstrongpassword.py'
def isStrongPassword(s):
    '''密码强度测验'''
    #判断太多,我使用短语句,便于调试查bug
    #判断大小写字母分别不小于1
    lower = len([i for i in s if i.islower()])
    supper = len([i for i in s if i.isupper()])
    if lower>=1 and supper>=1:
        alpha = True
    else:
        alpha = False
    #判断数字不小于3,数字也可以用re提取。我这里是写的函数,觉得用str.isdigit()更好,不用加载re模块。
    if len([i for i in s if i.isdigit()])>=3:
        digit = True
    else:
        digit = False
    #字母和数字的判断,也可以用not in [0~9,[a~z,A~Z]],我选择了用str.is函数,只是我的习惯,二者等价。
    #判断特殊字符不小于3(特殊字符为除字母数字之外的所有字符)
    symbol = len([i for i in s if not (i.islower() or i.isupper() or i.isdigit())])
    if symbol>=3:
        symbol_b = True
    else:
        symbol_b = False
    #判断字符串长度>=12
    if len(s)>=12:
        s_long = True
    else:
        s_long = False
    #下一行为调试打印语句,可以略去
    print(f'\n密码字符判断:\nAlpha={alpha},Digit={digit},Symbol={symbol>=3},密码长度={s_long}')
    if alpha and digit and symbol_b and s_long:
        return True
    else:
        return False


print(f'\n\n{"【密码强度检测器】".rjust(22)}\n\n')
s = input(f'输入密码字符串:\n$>>')
print(f'\n\n密码字符:{s}\n{"﹊"*21}\n{"密码强度:".rjust(16)}{isStrongPassword(s)}\n{"﹊"*21}\n\n')

回首页

题目

在这里插入图片描述

代码
#!/usr/bin/nve python
# coding: utf-8

import re

passwords = input('\n请输入密码:').strip()

# bool
islong = 10 <= len(passwords) <= 15
a, b, c, d = [re.findall(i, passwords) for i in (r'\d', r'_', r'[a-z]', r'[A-Z]')] # re提取数字、下划线、大小写字母。

# is True
if islong and a and b and c and d:
    print(f"\n{' 密码设置成功!':~^43}")
else:
    print(f"\n{' 密码不符合要求,请重新设置!':~^36}")

运行效果截图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


回首页

我的博文推荐:

推荐条件: 点阅破千

参考文章:


上一篇:练习:求列表平衡点
下一篇:


回首页

老齐漫画头像

精品文章:

来源:老齐教室


  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梦幻精灵_cq

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值