## 一个强密码应满足以下所有条件:
由至少6个,至多20个字符组成。 至少包含一个小写字母,一个大写字母,和一个数字。 同一字符不能连续出现三次 (比如 “…aaa…” 是不允许的, 但是 “…aa…a…” 是可以的)。 编写函数 strongPasswordChecker(s),s 代表输入字符串,如果 s 已经符合强密码条件,则返回0;否则返回要将 s 修改为满足强密码条件的字符串所需要进行修改的最小步数。
插入、删除、替换任一字符都算作一次修改。
def strongPasswordChecker(self, s):
"""
:type s: str
:rtype: int
"""
s = 0 s 条件,如果满足一个条件,则加一
s_len = len(s)
if 6 <len(s)<=20:
for i in s:
if i.isdigit():
s += 1
break
else:
continue
for i in s:
if i.islower():
s += 1
break
else:
continue
for i in s:
if i.isupper():
s += 1
break
else:
continue
for i in s:
sc = s.count(i)
if len(sc)>=3:
if i*sc in s:
s +=1
else:
continue
if s==0:
print('需要修改3步')
if s==1:
print('需要修改2步')
if s==2:
print('需要修改1步')