簡體   English   中英

如何讓python一次識別多個字母

[英]how to get python to recognize more than one letter at a time

所以我目前的任務是使用雙重編碼制作密碼。 所以我有一個變量,它是字母 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)

這樣的事情對你有用:

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]

如果消息長度為奇數,這會在消息的末尾添加一個空格。

改變:

for let in message:
    incoded_message += incoding_cipher[let]

到:

for first, second in zip(message[::2], message[1::2] + ' ' * (len(message) % 2)):
    key = first + second
    incoded_message += incoding_cipher[key]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM