在Python3.1中重新启动代码

2024-09-27 21:23:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我看过一些答案,但没有一个对我有用,我知道这段代码可能有很多错误,但我想知道的是,如果最后的输入是“是”,如何重新启动代码

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): ")

Tags: 代码ininputifshiftcodeencryptprint
2条回答

让它成为一个函数。检查答案是否为“是”,然后再次调用函数。递归在Python中是很好的,所以这可以工作。在

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

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

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

相关问题 更多 >

    热门问题