将字符串与列表中的元素进行比较

时间:2019-06-19 11:26:25

标签: python python-3.x string list comparison

我正在尝试编写密码强度检查器,如果输入的密码是常见的键盘组合(例如“ 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

1 个答案:

答案 0 :(得分:2)

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)