我正在尝试编写一个密码强度检查器,如果输入的密码是常见的键盘组合(例如“qwerty”或“asdfg”),我想扣分。我有一个列表 ['q', 'w', 'e', ... 'b', 'n', 'm']
。如果输入的任何部分具有列表中的连续元素,我想扣分。假设密码是“djoDFGibTY”(大写只是为了突出显示,全部小写),我希望我的代码捕获“DFG”和“TY”并扣分两次,在第一种情况下三次违规会扣更多分,在第二种情况下,双重违规的金额较小。谢谢。
keyboard_pattern = ['q', 'w', 'e', 'r', 't', 'y', 'u', 'i', 'o', 'p', 'a', 's', 'd', 'f', 'g', 'h', 'j', 'k', 'l', 'z', 'x', 'c', 'v', 'b', 'n', 'm']
if password in keyboard_pattern:
score -= 15
最佳答案
如 https://codereview.stackexchange.com/questions/177415/python-qwerty-keyboard-checker 上所示
input = input("What is your password?")
qwerty = 'qwertyuiopasdfghjklzxcvbnm'
lower = input.lower()
for idx in range(0, len(lower) - 2):
test_seq = lower[idx:idx + 3]
if test_seq in qwerty:
points -= 5
print(points)
关于python - 将字符串与列表中的元素进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56666614/