我在这里看了几个答案,但没有一个对我有用,我知道这个代码可能有很多问题,但我想知道的是如果输入只需重新启动代码在结束时是'是'
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): ")
答案 0 :(得分:3)
有很多方法,但这似乎是最短的路径:
Answer2 = "Yes"
while Answer2 == "Yes":
...
Answer2 = input("Do you want to restart? (Yes/No): ")
通常,您可能也想要.lower ().strip ()
答案2。
答案 1 :(得分:-1)
使一切成为一种功能。检查答案是否为“是”&#39;然后再次调用该函数。 Python中的递归很好,所以这将有效。