以下是我需要返回正确索引的代码段,根据'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个字母并再次比较单词。
答案 0 :(得分:0)
将索引初始化为" findBestShift"并将其作为参数传递给findBestShift