Caesar密码Python在单独的行上打印
下面的代码工作正常,但是消息一旦被加密,就会打印到单独的行上。例如,如果我键入:abc,移位为1,则会对其进行加密,但会将其打印回:Caesar密码Python在单独的行上打印,python,encryption,caesar-cipher,Python,Encryption,Caesar Cipher,下面的代码工作正常,但是消息一旦被加密,就会打印到单独的行上。例如,如果我键入:abc,移位为1,则会对其进行加密,但会将其打印回: b c d 我不明白为什么。我希望它打印为: bcd 代码如下: print("Welcome to the Code-Breaking/Making Software") print("This program uses something called a Caesar Cipher.") Message = (input("Please enter
b
c
d
我不明白为什么。我希望它打印为:
bcd
代码如下:
print("Welcome to the Code-Breaking/Making Software")
print("This program uses something called a Caesar Cipher.")
Message = (input("Please enter the message you wish to Encrypt >> "))
Shift = int(input("Please enter the shift for your message >> "))
for x in Message:
OrdMessage = ord(x)
ShiftedMessage = OrdMessage + Shift
NewMessage = chr(ShiftedMessage)
NewMessageList = list(NewMessage)
print("".join(NewMessageList))
缩进很重要,您不应该每次都创建新的
NewMessage
列表
print("Welcome to the Code-Breaking/Making Software")
print("This program uses something called a Caesar Cipher.")
Message = (input("Please enter the message you wish to Encrypt >> "))
Shift = int(input("Please enter the shift for your message >> "))
NewMessageList = []
for x in Message:
OrdMessage = ord(x)
ShiftedMessage = OrdMessage + Shift
NewMessage = chr(ShiftedMessage)
NewMessageList.append(NewMessage)
print("".join(NewMessageList))
您应该更改以下部分
print("".join(NewMessageList), end="")
发生的事情是,对于每个字符,它都在运行循环并打印答案,现在我收集了所有加密的字母,并将它们作为一个组合,最后打印出来
它首先用
NewMessage=[]
初始化一个空列表,然后使用.append()
将加密后的每个字母添加到空列表中,最后通过'.join(NewMessage)
您正在打印for循环中的每个字符。那么我将如何修复它?通过在for循环之外添加打印?这很有效,谢谢!你能解释一下你使用的命令吗?因为我不熟悉。(大学生)这里使用的唯一命令是
append
。它的作用是将元素附加到列表中。阅读文档中的更多内容:NewMessageList=[]如何?它只是将变量赋值为nothing吗?不是nothing。[]是空列表,()是空元组,{}是空指令集,set()是空集,list()是空列表等等…我仍然不知道append实际做什么。NewMessage=[]和.append做什么?它首先用NewMessage=[]初始化空列表
然后,对于我们得到加密的每个字母,它都会使用.append()
添加到空列表中,并在最后通过''打印所有字母。join(NewMessage)
print("Welcome to the Code-Breaking/Making Software")
print("This program uses something called a Caesar Cipher.")
Message = (input("Please enter the message you wish to Encrypt >> "))
Shift = int(input("Please enter the shift for your message >> "))
NewMessage = []
for x in Message:
OrdMessage = ord(x)
ShiftedMessage = OrdMessage + Shift
NewMessage.append(chr(ShiftedMessage))
print(''.join(NewMessage))