鱼C论坛

 找回密码
 立即注册
查看: 2997|回复: 12

[已解决]014讲最后一题

[复制链接]
发表于 2020-3-16 20:25:39 | 显示全部楼层    本楼为最佳答案   
  1. #-*-coding:gbk-*-

  2. nums = '0123456789'
  3. chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
  4. symbols = r'''`!@#$%^&*()_+-=/*{}[]\|'";:/?,.<>'''
  5. while True:
  6.     passwd = input('请输入需要检查的密码组合:') . strip()
  7.     length = len(passwd)
  8.     if length > 0:                                                                # 实际键入密码才进行评分
  9.         flag_len = 3 if length >= 16 else 2 if 8 <= length < 16 else 1            # 密码长度评分
  10.         flag_con = 1 if sum([1 for x in passwd if x in nums]) > 0 else 0          # 密码构成评分:包含数字 = +1
  11.         flag_con += 1 if sum([1 for x in passwd if x in chars]) > 0 else 0        # 密码构成评分:包含字母 = +1
  12.         flag_con += 1 if sum([1 for x in passwd if x in symbols]) > 0 else 0      # 密码构成评分:包含特殊字符 = +1
  13.         print()
  14.         print('您的密码安全级别被评定为:' , end='')
  15.         if passwd[0] . isalpha() and flag_len > 2 and flag_con > 2 :
  16.             print('高')
  17.             print('请继续保持')
  18.         else:
  19.             if flag_len > 1 and flag_con > 1:
  20.                 print('中')
  21.             else:
  22.                 print('低')
  23.             print('"请按以下方式提升您的密码安全级别:\n\
  24.             \t1.密码必须由数字、字母及特殊字符三种组合\n\
  25.             \t2.密码只能由字母开头\n\
  26.             \t3.密码长度不低于16位')
  27.         print()
  28.     else:                                                                         # 否则
  29.         break                                                                     # 键入空回车结束运行
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-16 23:39:27 | 显示全部楼层
本帖最后由 jackz007 于 2020-3-16 23:42 编辑
hjqbrilliant 发表于 2020-3-16 22:55
您的那个第五行可以详细结束一下吗?为啥加个r 还有为啥''' 要这样 还有为啥''' 后面还有一个点


     Python 的字符串可以用单引号、双引号和三引号来包裹,本例就是三引号字符串,之所以要用三引号,是因为在字符串中已经包含有单引号和双引号,所以,字符串如果用再用单引号或双引号包裹,就会产生问题。
     至于字符串前缀 r,表示是原生字符串,就是说,对字符串中的特殊转义字符 '\' 不再进行转义。例如,不加 r 前缀的时候,字符 '\' 必须用 '\\' 来表示,但是,加了 r 前缀后,r '\’ 就是 '\' 字符了。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-10-22 06:53

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表