如何重新排序代码以获得正确的迭代计数器

时间:2015-07-26 17:30:17

标签: python iteration counter

以下是我需要返回正确索引的代码段,根据'else'部分,每次迭代应该减少1:

def findBestShift(wordList, text):

    splited_text = text.split(' ')
    index=26

    while index >= 0:
        for item in splited_text:
            if item in wordList:
                return index # in this place I need to get decreased index depends on the amount of iterations, instead of 26 which I always get
            else:
                index-=1
                return findBestShift(wordList,applyShift(item,index))

如何重新排序代码以返回降低的索引?除了这个小问题,代码工作正常。

此代码的目的是通过此方法解密字符串 - > https://en.wikipedia.org/wiki/Caesar_cipher

我们有一些编码的单词,然后尝试通过移动字母表中的字母并将单词与wordList进行比较来解码它们。

如果解码后的单词与wordList中的单词匹配 - 我们需要返回数字(shift), 如果单词彼此不匹配,则将字母表移位(减少)1个字母并再次比较单词。

1 个答案:

答案 0 :(得分:0)

将索引初始化为" findBestShift"并将其作为参数传递给findBestShift