Python Caesar密码递增问题

时间:2018-11-19 20:03:54

标签: python

我的任务是提示用户输入要解码的字符串,以及出现在已解码字符串中的纯文本单词。输出应该是解码字符串和解码后的字符串本身所需的键。

一个例子: 如果编码的字符串是:khoor zruog,而纯文本单词是:hello 该程序应计算出旋转为3,解码后的字符串为“ hello world”

我已经定义了一个函数key(shift),这使我可以通过执行key(3)来调用该函数。如果在提示中输入“ khoor zruog”,则会显示“ hello world”

def key(shift):
    data = []
    string = input("Please enter the string you wish to decode.\n")
    for i in string:
        if i.strip() and i in ALPHABET:
            data.append(ALPHABET[(ALPHABET.index(i) - shift) % 26])
        else:
            data.append(i)
    output = ''.join(data)
    return (output)

def run():
    shift = 1
    for shift in range (26):
        if key(shift) == "hello world":
            print("hi")
        else:
            shift +=1

我试图弄清楚如何调用我的函数键,并在每次变为hello world之前对其进行递增。因此,例如,它将首先执行key(1)然后执行key(2),直到它变为“ hello world”,然后停止。

0 个答案:

没有答案