鱼C论坛

 找回密码
 立即注册
查看: 2237|回复: 1

[已解决]python课后习题写密码安全性检查的小问题

[复制链接]
发表于 2017-3-17 15:39:38 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
(1)根据代码,我发现当输入!@#¥%……&*()这种特殊字符时,返回的级别是低,但是又不满足低级别的要求,这个应该怎么改?
(2)所谓题目中的低级别要求是满足两者中的一个就好还是要满足两个条件才可以,纠结使用and还是or
(3)高级别的时候要求只能以字母开头 我小小的加了点东西 请看一下对不对
  1. #密码安全性检查
  2. symbol=r'!@#$%^&*()_=-/,.?<>[]{}\|'
  3. alpha='abcdefghigklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
  4. number='1234567890'
  5. temp=input("请输入要检查安全性的密码:")
  6. length=len(temp)

  7. #密码长度检查
  8. while(temp.isspace() or length==0):
  9.     temp=input("您输入的密码为空。请重新输入")
  10.    
  11. if length <= 8:
  12.     flag_len = 1
  13. elif length <= 16:
  14.         flag_len=2
  15. else:
  16.         flag_len=3

  17. #判断密码中是否含有特殊字符:
  18. flag_con=0
  19. for each in temp:
  20.     if each in symbol:
  21.         flag_con += 1
  22.         break
  23.    
  24. #判断是否包含字母
  25. for each in temp:
  26.     if each in alpha:
  27.         flag_con += 1
  28.         break

  29. #判断是否包含数字
  30. for each in temp:
  31.     if each in number:
  32.         flag_con += 1
  33.         break

  34. #判断首字母
  35. flag_first=0
  36. if temp[1] in alpha:
  37.     flag_first += 1

  38. #打印结果
  39. while 1:
  40.     print("您的密码安全级别评定为:",end=" ")
  41.     if flag_len==1 or flag_con==1:
  42.         print("低")
  43.         break
  44.     if flag_len==3 and flag_con==3 and flag_first==1:
  45.         print("高")
  46.         break
  47.     else:
  48.         print("中")
  49.         break
复制代码


错误之处请点明
最后谢谢热心人帮忙解答

最佳答案
2017-3-17 16:08:43
1.再解释一下
2.使用 or 只要符合一个条件就 低
3.没问题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-3-17 16:08:43 | 显示全部楼层    本楼为最佳答案   
1.再解释一下
2.使用 or 只要符合一个条件就 低
3.没问题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-20 00:06

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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