Python3 解法,巧用ASCII
while True:
try:
s = input()
sc = 0
# 密码长度
if len(s) <= 4:
sc += 5
elif len(s) <= 7:
sc += 10
else:
sc += 25
# 字母
isu = 0
isl = 0
for i in s:
if "A" <= i <= "Z":
isu = 1
break
for i in s:
if "a" <= i <= "z":
isl = 1
break
sc += 10 * (isu + isl)
# 数字
count1 = 0
for i in s:
if "0" <= i <= "9":
count1 = count1 + 1
if count1 == 1:
sc += 10
elif count1 > 1:
sc += 20
else:
sc = sc
# 符号
fh = '!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'
count2 = 0
for i in s:
if i in fh:
count2 += 1
if count2 == 1:
sc += 10
elif count2 > 1:
sc += 25
else:
sc = sc
# 奖励
if isu + isl == 2 and count1 >= 1 and count2 >= 1:
sc += 5
elif isu + isl > 1 and count1 >= 1 and count2 >= 1:
sc += 3
elif isu + isl > 1 and count1 >= 1:
sc += 2
if sc >= 90:
print("VERY_SECURE")
elif sc >= 80:
print("SECURE")
elif sc >= 70:
print("VERY_STRONG")
elif sc >= 60:
print("STRONG")
elif sc >= 50:
print("AVERAGE")
elif sc >= 25:
print("WEAK")
elif sc >= 0:
print("VERY_WEAK")
except:
break