Discussions

autre version

Image

J'avais fais une autre version, je ne sais pas laquelle est la meilleure des deux ?

 

from my_module import logo

def crypter_decrypter() -> str:
msg = ""
cle = input("\t - Choississez une clé de cryptage (entre 1 et 26) : ")
try:
cle = int(cle)
if cle < 1 or cle > 26:
print("\t ERREUR, veuillez entrer un nombre entre 1 et 26 !\n")
return crypter_decrypter()
except:
print("\t ERREUR, veuillez entrer un nombre valide !\n")
return crypter_decrypter()
else:
message: str = input(f"\t - Entrez le message à {question} : ")
print("-" * 50)
print(f"\t VOTRE MESSAGE {question.upper()} : ", end="")
for i in message:
if i in alphabet:
if question == "crypter":
encrypter = alphabet.index(i) + cle
message_encrypter = alphabet[encrypter]
msg += message_encrypter
elif question == "décrypter":
decrypter = alphabet.index(i) - cle
message_decrypter = alphabet[decrypter]
msg += message_decrypter
else:
msg += i
return msg


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',
'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']

print(logo)

question: str = input("Voulez-vous crypter ou décrypter un message ? ").lower()

while question != "crypter" and question != "décrypter":
print("ERREUR, veuillez répondre par (crypter ou décrypter) !")
question: str = input("Voulez-vous crypter ou décrypter un message ? ").lower()

print(crypter_decrypter())
1 réponse
Image
Louis-Nicolas Leuillet
Le 18/10/2022 à 08:53

La première est mieux organisée mais ce n'est pas à ce point "meilleur" car les versions que tu me proposes sont très bien

Image
Inscrivez-vous ou connectez-vous pour participer à la discussion.

Informations

Créée le 17 octobre 2022 14:19
Dernière activité le 17 octobre 2022 14:19