所以我当前的任务是使用双重编码来创建密码。所以我有一个变量,它是字母aa到zz的列表。另一个变量是改组的同一列表的副本。然后,我将Alpha对作为字典中的键插入,并将对复制作为字典中的值。我现在遇到的问题是让它一次查看消息中不止一个字母。
我尝试只创建一个新变量和一个for循环来简单地运行它,但是一次只看一个字母
import random
alpha= 'abcdefghijklmnopqrstuvwxyz '
alphalist= list(alpha)
alphapair= []
for let1 in alphalist:
for let2 in alphalist:
pair = let1+let2
alphapair.append(pair)
paircopy= alphapair[:]
random.seed(6767)
random.shuffle(paircopy)
incoding_cipher=dict(zip(alphapair,paircopy))
message=input("Please type the message you would like to encode: ") #optional to allow for an input to encode
message= message.lower()
incoded_message=''
for let in message:
incoded_message += incoding_cipher[let]
print(incoded_message)
答案 0 :(得分:0)
类似的事情将为您服务:
msgtemp = (message + ' ') if (len(message) % 2) else message
for i in range(0, len(msgtemp), 2):
pair = msgtemp[i] + msgtemp[i + 1]
incoded_message += incoding_cipher[pair]
如果消息长度不固定,则会在消息末尾添加一个空格。
答案 1 :(得分:0)
更改:
for let in message:
incoded_message += incoding_cipher[let]
收件人:
for first, second in zip(message, message[1:]):
key = first + second
incoded_message += incoding_cipher[key]