Je fais une mission de cryptographie en python et je dois: - découper une chaîne - remplacer les lettres - rejoindrons pour qu'il soit un mot.python comment diviser une chaîne et rejoindrons
Ceci est le code complet, mais je suis bloqué sur la boucle for sous def encode(plain)
.
""" crypto.py
Implements a simple substitution cypher
"""
alpha = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
key = "XPMGTDHLYONZBWEARKJUFSCIQV"
def menu():
print("Secret decoder menu")
print("0) Quit")
print("1) Encode")
print("2) Decode")
print("What do you want to do?")
response = input()
return response
def encode(plain):
for i in range(len(plain)):
plain = plain.upper()
x = plain[i:i+1]
y = alpha.index(x)
z = key[y:y+1]
plain[x] = z
return plain
def main():
keepGoing = True
while keepGoing:
response = menu()
if response == "1":
plain = input("text to be encoded: ")
print(encode(plain))
elif response == "2":
coded = input("code to be decyphered: ")
print (decode(coded))
elif response == "0":
print ("Thanks for doing secret spy stuff with me.")
keepGoing = False
else:
print ("I don't know what you want to do...")
return main
main()
menu()
entrée de l'échantillon et les résultats attendus serait bien. –
vous devez mettre en retrait le code sous votre fonction définitions – 0TTT0
menu décodeur secret 0) Quitter 1) Encode 2) Decode Que voulez-vous faire? texte à coder: bonjour L T Z Z E BONJOUR – Matteo