m0_66886328 2022-05-09 19:54 采纳率: 100%
浏览 489
已结题

python密码强度判断

import string

pwd = input()
strong = d = al = au = pu = 0
for ch in pwd:
if ch in string.digits: #是否包含数字
d = 1
elif ch in string.ascii_lowercase: #是否包含小写字母
al = 1
elif ch in string.ascii_uppercase: #是否包含大写字母
au = 1
elif ch in string.punctuation: #是否包含指定的标点符号
pu = 1
if len(pwd) < 8:
strong = 0
else:
strong = d + al + au + pu
if strong < 2:
print('weak')
elif strong == 2:
print('medium')
elif strong == 3:
print('good')
elif strong == 4:
print('excellent')
我该怎么做才能
(1)用于密码的英文字符被分为四种:(1)字母(2)数字(3)英文标点符号(4)其他所有英文字符。
其中,标点符号包括: ?!.,'";:`_-()[]/*
(2)不区分字母大小写

  • 写回答

2条回答 默认 最新

  • A Python 萌新花花 2022-05-09 20:05
    关注
    
    import re
    a = input()
    strong = 0
    if len(re.findall(r"[0-9]",a)) > 0:
        strong += 1
    if len(re.findall(r"[A-Za-z]",a)) > 0:
        strong += 1
    if len(re.findall(r"[!?,.;:]",a)) > 0:
        strong += 1
    if len(re.findall(r"[@#$%^&*(){}|\\<>/]",a)) > 0:
        strong += 1
    if strong < 2:
        print('weak')
    elif strong == 2:
        print('medium')
    elif strong == 3:
        print('good')
    elif strong == 4:
        print('excellent')
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 5月9日
  • 已采纳回答 5月9日
  • 赞助了问题酬金5元 5月9日
  • 创建了问题 5月9日

悬赏问题

  • ¥15 做个有关计算的小程序
  • ¥15 MPI读取tif文件无法正常给各进程分配路径
  • ¥15 如何用MATLAB实现以下三个公式(有相互嵌套)
  • ¥30 关于#算法#的问题:运用EViews第九版本进行一系列计量经济学的时间数列数据回归分析预测问题 求各位帮我解答一下
  • ¥15 setInterval 页面闪烁,怎么解决
  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动
  • ¥20 对于工程问题的非线性数学模型进行线性化