Ich habe das Programm unten, die an eine andere Funktion übergeben wird, die einfach die ursprünglichen und verschlüsselten Nachrichten druckt. Ich möchte wissen, wie ich dieses Programm vereinfachen, insbesondere die „match = zip“ und „change = (reduzieren (Lambda“ Linien. Wenn möglich, dies zu tun, ohne Lambda zu verwenden, wie kann ich das?Vereinfachen Vigenere Chiffre-Programm in Python
from itertools import cycle
alphabet = ["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"]
def vigenereencrypt(message,keyword):
output = ""
match = zip(message.lower(),cycle(keyword.lower()))
for i in match:
change = (reduce(lambda x, y: alphabet.index(x) + alphabet.index(y), i)) % 26
output = output + alphabet[change]
return output.lower()
Fantastisch. Ich <3 es. – kpie