凯撒替代功能不返回结果

时间:2018-02-21 21:13:22

标签: python

我有以下python代码,它应该使用强力来解密秘密消息。加密技术是Ceasarean替代,即字母表中的每个字母都移动了一定数量的地方。我的主要功能是应该返回解密的消息,所有26个可能的地方移动的字母(我希望它有意义,但它基本上像ROT13,但我们不知道数字。它可能是ROT13,ROT5,ROT20等。)

问题是我的main函数没有打印出caesarBreak函数的结果。

提前致谢!

import sys

def caesarBreak(cipheredMsg):
    alphabet = "abcdefghijklmnopqrstuvwxyz "
    shift = 1
    plainText = ""

    for ch in cipheredMsg:
        idx = alphabet.find(ch) - shift
        plainText = plainText + alphabet[idx]
        shift = shift + 1
    return plainText

def main():

 print("We will now try to break the msg: 'we ovugpzghugpu lylz pungwyvnyhttpungshunahnl'\n\n")
    secretmsg = 'we ovugpzghugpu lylz pungwyvnyhttpungshunahnl'
    caesarBreak(secretmsg)

main()

2 个答案:

答案 0 :(得分:0)

因为您没有要求您的主要功能打印它。

print(caesarBreak(secretmsg))

它确实返回了结果,如果你找到一个存储它的地方,那么以后你可以将它打印出来或做任何你想做的事。

result = caesarBreak(secretmsg)
print(result)

答案 1 :(得分:0)

同意Yunkai Xiao,你必须使用print()打印出你的结果。

print(#your function here)

此外,您可能还有其他错误,只能检查fyi。