如何让python一次识别多个字母

时间:2019-04-20 22:14:34

标签: python

所以我当前的任务是使用双重编码来创建密码。所以我有一个变量,它是字母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)

2 个答案:

答案 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]