我想知道这段代码的一个合适的循环,在它到达Z之后把它带回a,我对python非常陌生,这会帮我很多忙,谢谢。在
reset = "yes"
def encrypt():
answer = ""
for letter in message:
new=ord(letter)+ offset
answer=answer+chr(new)
print(answer)
def decrypt():
answer = ""
for letter in message:
new=ord(letter)- offset
answer=answer+chr(new)
print(answer)
while reset == "yes":
message= input("Type in a message.")
offset= int(input("How many do you want offset the letters by?"))
reset = "yes"
while offset > 26:
offset= int(input("How many do you want offset the letters by?(0-26)"))
eord=input("Type E for encrypt, or D for decrypt")
if eord == "e":
encrypt()
elif eord == "d":
decrypt()
else:
eord=input("Type E for encrypt, or D for decrypt")
reset= input("do you want to do another?")
正如我在评论中提到的,你要求的是“E”或“D”,但要检查的是“E”或“D”。在你的最后一行,你应该告诉他们输入“是”(而不是“是”或“是”)。还需要将消息和偏移量变量传递给encypt和decrypt函数。在
您提到它应该从Z循环回A(而不是在移位中使用非字母字符)。为此,您需要使用
if
语句测试ord
值,如this example:这是您的代码的编辑版本。它所需要的只是上述在
^{pr2}$encrypt
和decrypt
函数定义中提到的ord
检查:相关问题 更多 >
编程相关推荐