[英]Caesar Cipher Code Python printing on separate lines
下面的代碼工作正常,但是一旦加密,消息就會打印到單獨的行上。 例如,如果我輸入: 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 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)
打印所有內容
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))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.