零基础之第15讲作业之经典不知错在哪??(最新)
print('~~~~~~~~~~密码安全性检查代码~~~~~~~~~~')A=input('请输入需要检查的密码组合:')
zimu='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
shuzi='0123456789'
listA=[]
for i in A:#将字符串转化成列表,方便操作。
listA.append(i)
fu='~!@#$%^&*()_=-/,.?<>;:[]{}|\\'
listB=listA[:]#创造替身
a=0
b=0
c=0
d=0
for i in listA:#判断是否有特殊字符
if i in fu:
a+=1
break
for o in listA:#判断是否有数字
if o in shuzi:
b+=1
break
for p in listA:#判断是否有字母
if p in zimu:
c+=1
break
d=a+b+c
for ii in listB:#去除特殊字符
if ii in fu:
listB.remove(ii)
for oo in listB:#去除字母
if oo in zimu:
listB.remove(oo)
for pp in listB :#去除数字
if pp in shuzi:
listB.remove(pp)
if len(listB)==0 :
if (int(d)==3) and (A.istitle()) and (len(listA)>=16):
print('您的密码安全级别评定为:高\n请继续保持')
if int(d)==2 andlen(listA)>=8:
print('您的密码安全级别评定为:中\n请按以下方式提升您的密码安全级别:\n\t1. 密码必须由数字、字母及特殊字符三种组合\n\t2. 密码只能由字母开头\n\t3. 密码长度不能低于16位')
if int(d)==1 and int(c)==0 and len(listA)<=8:
print('您的密码安全级别评定为:低\n请按以下方式提升您的密码安全级别:\n\t1. 密码必须由数字、字母及特殊字符三种组合\n\t2. 密码只能由字母开头\n\t3. 密码长度不能低于16位')
else:
print('您输入了其它字符,请按照以下要求输入:\n\t1. 密码必须由数字、字母及特殊字符三种组合\n\t2. 密码只能由字母开头\n\t3. 密码长度不能低于16位')
run:
请输入需要检查的密码组合:asxansx8738475{}[]
您输入了其它字符,请按照以下要求输入:
1. 密码必须由数字、字母及特殊字符三种组合
2. 密码只能由字母开头
3. 密码长度不能低于16位
本帖最后由 白two 于 2021-9-6 13:33 编辑
用 for 循环遍历的时候最好不要删除元素
例如:
>>> a =
>>> for i in a:
if i % 2 == 0:
a.remove(i)
>>> print(a)
因为你遍历的时候把这个元素删除了,那么下一个元素就会顶上来,你遍历的下一个元素将会是原本下一个的后面那个。
你去除元素时,如果有两个都满足去除条件的挨在一起,那么后面那个就会因为这个原因不会被剔除,所以最后字符串长度不会为0 白two 发表于 2021-9-6 13:31
用 for 循环遍历的时候最好不要删除元素
例如:
谢谢,爱你
页:
[1]