|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
一个判断密码复杂程度的问题~
symbols = r'''!@#$%^&*()_+-=/*{}[]\|'";:/?,.<>'''
chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
nums = '0123456789'
passwd = input('请输入需要检查的密码:')
length = len(passwd)
while (passwd.isspace() or length == 0):
passwd = input ('你输入了空格,请重新输入:')
if length <= 8:
a = 1
elif 8 < length <= 16:
a = 2
elif 16 < length:
a = 3
b = 0
for each in passwd:
if each in symbols:
b = b + 1
break
for each in passwd:
if each in chars:
b = b + 1
break
for each in passwd:
if each in nums:
b = b +1
break
if (a == 1) or (b == 1):
print('低')
elif (a == 2) or (b == 2):
print('中')
else:
print('高')
print(a)
print(b)
问题一:symbols = r'''!@#$%^&*()_+-=/*{}[]\|'";:/?,.<>''' ,这里面的特殊符号为什么要用三重引号?三重不是注释或者某些情况下换行的意思吗?把三重引号换成单引号或者双引号全是报错,为什么?
问题二:最后判断的时候,or 不是或者的意思吗?不是任意一个达到条件就为真吗?为什么运行结果不是这样的?
求大神解答啊~ 三克油~
|
评分
-
查看全部评分
|