小编hov*_*hov的帖子

'leet'程序 - 获得所有排列

我写了一个简单的函数,将单词中的字母转换为它们的'leet'数字对应物.

def Leet(word):
    letters = list(word.lower())
    for n, letter, in enumerate(letters):
        if letter == 'o':
            letters[n]= '0'
        elif letter == 'i':
            letters[n]= '1'
        elif letter == 'z':
            letters[n]= '2'
        elif letter == 'e':
            letters[n]= '3'
        elif letter == 'a':
            letters[n]= '4'
        elif letter == 's':
            letters[n]= '5'
        elif letter == 'g':
            letters[n]= '6'
        elif letter == 't':
            letters[n]= '7'
        elif letter == 'b':
            letters[n]= '8'
    return ''.join(letters)
Run Code Online (Sandbox Code Playgroud)

所以当我输入时'zit',程序将返回'217'.

我的问题是,我该怎么改变它给我的每一个可能的置换('217','2it','z1t','zi7' …

python permutation cartesian-product python-itertools

2
推荐指数
1
解决办法
1007
查看次数