|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
(1)根据代码,我发现当输入!@#¥%……&*()这种特殊字符时,返回的级别是低,但是又不满足低级别的要求,这个应该怎么改?
(2)所谓题目中的低级别要求是满足两者中的一个就好还是要满足两个条件才可以,纠结使用and还是or
(3)高级别的时候要求只能以字母开头 我小小的加了点东西 请看一下对不对
- #密码安全性检查
- symbol=r'!@#$%^&*()_=-/,.?<>[]{}\|'
- alpha='abcdefghigklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
- number='1234567890'
- temp=input("请输入要检查安全性的密码:")
- length=len(temp)
- #密码长度检查
- while(temp.isspace() or length==0):
- temp=input("您输入的密码为空。请重新输入")
-
- if length <= 8:
- flag_len = 1
- elif length <= 16:
- flag_len=2
- else:
- flag_len=3
- #判断密码中是否含有特殊字符:
- flag_con=0
- for each in temp:
- if each in symbol:
- flag_con += 1
- break
-
- #判断是否包含字母
- for each in temp:
- if each in alpha:
- flag_con += 1
- break
- #判断是否包含数字
- for each in temp:
- if each in number:
- flag_con += 1
- break
- #判断首字母
- flag_first=0
- if temp[1] in alpha:
- flag_first += 1
- #打印结果
- while 1:
- print("您的密码安全级别评定为:",end=" ")
- if flag_len==1 or flag_con==1:
- print("低")
- break
- if flag_len==3 and flag_con==3 and flag_first==1:
- print("高")
- break
- else:
- print("中")
- break
复制代码
错误之处请点明
最后谢谢热心人帮忙解答
1.再解释一下
2.使用 or 只要符合一个条件就 低
3.没问题
|
|