[英]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.