为什么这个python代码一次打印一个字母? def encrypt(): msg=input(“输入要加密的消息:”).strip() 打印() key=int(输入(“输入要加密的密钥,数字0-25:”) encryptedMessage=“” 对于ch in msg: 如果ord(ch)==32: encryptedMessage+=ch elif ord(ch)+键>122: #z移回a后,a=97,z=122 温度=(ord(ch)+键)-122 encryptedMessage+=chr(96+温度) elif(作战需求文件(ch)+密钥>90)和(作战需求文件(ch)122: #z移回a后,a=97,z=122 温度=(ord(ch)+键)-122 encryptedMessage+=chr(96+温度) elif(作战需求文件(ch)+密钥>90)和(作战需求文件(ch)

为什么这个python代码一次打印一个字母? def encrypt(): msg=input(“输入要加密的消息:”).strip() 打印() key=int(输入(“输入要加密的密钥,数字0-25:”) encryptedMessage=“” 对于ch in msg: 如果ord(ch)==32: encryptedMessage+=ch elif ord(ch)+键>122: #z移回a后,a=97,z=122 温度=(ord(ch)+键)-122 encryptedMessage+=chr(96+温度) elif(作战需求文件(ch)+密钥>90)和(作战需求文件(ch)122: #z移回a后,a=97,z=122 温度=(ord(ch)+键)-122 encryptedMessage+=chr(96+温度) elif(作战需求文件(ch)+密钥>90)和(作战需求文件(ch),python,encryption,caesar-cipher,Python,Encryption,Caesar Cipher,抱歉,代码太多了,我真的不知道是什么导致了这种情况。这应该是一个Caesar密码加密程序,您输入消息和shift,它应该打印代码。但是,它只打印一个字母,如果我在末尾删除main(),它会一次打印每个字母,例如,让我们假设这个单词是Lemons,它是L,LE,LEM等等。如果有人知道如何帮助解决这个问题,我将不胜感激,谢谢 只需取消登录打印(encryptedMessage),这样它就不在循环中了 def encrypt(): msg = input("Enter the me

抱歉,代码太多了,我真的不知道是什么导致了这种情况。这应该是一个Caesar密码加密程序,您输入消息和shift,它应该打印代码。但是,它只打印一个字母,如果我在末尾删除main(),它会一次打印每个字母,例如,让我们假设这个单词是Lemons,它是L,LE,LEM等等。如果有人知道如何帮助解决这个问题,我将不胜感激,谢谢

只需取消登录
打印(encryptedMessage)
,这样它就不在循环中了

def encrypt():
    msg = input("Enter the message you would like to encrypt: ").strip()
    print()
    key = int(input("Enter key to encrypt, a number 0-25: "))

    encryptedMessage = ""
    for ch in msg:
        if ord(ch) == 32: 
            encryptedMessage += ch 
            
        elif ord(ch) + key > 122:
            #after z moves back to a, a = 97, z = 122
            temp = (ord(ch) + key) - 122 
            encryptedMessage += chr(96+temp)
             
        elif (ord(ch) + key > 90) and (ord(ch) < 96):
            #moving back to a after z
            temp = (ord(ch) + key) - 90
            encryptedMessage += chr(64+temp)
                                          
        else:
            #incase of letters being both caps
            encryptedMessage += chr(ord(ch) + key)
       
        print(encryptedMessage)

        main()

这里,这应该适合你的需要

def encrypt():
msg=input(“输入要加密的消息:”).strip()
打印()
key=int(输入(“输入要加密的密钥,数字0-25:”)
encryptedMessage=“”
对于ch in msg:
如果ord(ch)==32:
encryptedMessage+=ch
elif ord(ch)+键>122:
#z移回a后,a=97,z=122
温度=(ord(ch)+键)-122
encryptedMessage+=chr(96+温度)
elif(作战需求文件(ch)+密钥>90)和(作战需求文件(ch)<96):
#在z之后移回a
温度=(ord(ch)+键)-90
encryptedMessage+=chr(64+temp)
其他:
#如果字母都是大写字母
encryptedMessage+=chr(ord(ch)+密钥)
打印(加密消息)
加密()
现在,如果你看到,它工作得很好

输入要加密的消息:Hello World
输入要加密的密钥,数字0-25:15
Wtaad Ldgas
进程已完成,退出代码为0

您的
打印
在您的
for
循环中。非常感谢您,现在它可以工作了!没问题,顺便问一句,你怎么解密呢?事实上,我想出来了,只要再加密25次就可以了
def encrypt():
    ...
    for ch in msg:
        ...
    print(encryptedMessage)