在Python 3.1中重新启动代码

时间:2016-04-25 10:55:09

标签: python python-3.x

我在这里看了几个答案,但没有一个对我有用,我知道这个代码可能有很多问题,但我想知道的是如果输入只需重新启动代码在结束时是'是'

Code = input("Do you want to encrypt or decrypt? ")
Code = Code.upper()
Answer = ["ENCRYPT","DECRYPT"]

    if Code in Answer:

            Plaintext = input("What's your message? ")
            Plaintext = Plaintext.upper()
            Shift = int(input("What's the shift number? "))
            LengthPT = len(Plaintext)
            CodeLetter = ""

            if Code == ("ENCRYPT"):
                    for i in range (0,LengthPT):
                            Pletter = ord(Plaintext[i]) -64
                            Codeletter = Pletter + Shift
                            if Codeletter > 26:
                                    Codeletter = Codeletter - 26
                            Codeascii = chr(Codeletter + 64)
                            CodeLetter = CodeLetter + Codeascii

            elif Code == ("DECRYPT"):
                    for i in range (0,LengthPT):
                            Pletter = ord(Plaintext[i]) -64
                            Codeletter = Pletter - Shift
                            if Codeletter < 0:
                                    Codeletter = Codeletter + 26
                            Codeascii = chr(Codeletter + 64)
                            CodeLetter = CodeLetter + Codeascii
    else:
            print("Wrong answer.")

    if Code == ("ENCRYPT"):
            print("Encoded Message =", CodeLetter)

    elif Code == ("DECRYPT"):
            print("Decoded Message =", CodeLetter)

    Answer2 = input("Do you want to restart? (Yes/No): ")

2 个答案:

答案 0 :(得分:3)

有很多方法,但这似乎是最短的路径:

Answer2 = "Yes"
while Answer2 == "Yes":
  ...
  Answer2 = input("Do you want to restart? (Yes/No): ")

通常,您可能也想要.lower ().strip ()答案2。

答案 1 :(得分:-1)

使一切成为一种功能。检查答案是否为“是”&#39;然后再次调用该函数。 Python中的递归很好,所以这将有效。