如何使程序检测QWERTY键盘布局中的连续字母?

时间:2017-10-21 22:19:44

标签: python

我知道其他人已经问过这个问题,但我从来不理解这些代码,我猜这个代码有点不同。所以我需要在我的python程序中使用一个代码,从变量" points"中删除5个点。例如:如果密码是qwert123,则有3种组合" qwe",' wer'," ert" 15点被删除。 请帮助我,我需要用最简单的语言,所以我能理解它。非常感谢!

    user_password = input()
    password = int(len(user_password))

1 个答案:

答案 0 :(得分:0)

可以找到解决此问题的方法here

使其适应手头的问题,以下代码将满足您的需求:

qwertyKeyboard = ['qwertyuiop', 'asdfghjkl', 'zxcvbnm']
user_password = input("enter password")
points = len(user_password)

def chunkstring(string):
    return (string[0+i:3+i] for i in range(0, len(string)))

for chunk in list(chunkstring(user_password)):
    if len(chunk) == 3:
        if chunk in qwertyKeyboard[0] or chunk in qwertyKeyboard[1] or chunk in qwertyKeyboard[2]:
            print(chunk)
            points -= 5

print(points)

chunkstring函数将密码分解为多个字符块,然后由for循环对qwertyKeyboard列表进行检查,并从{{1}中扣除5个点每个变量找到三个连续的字符。