J'ai essayé de faire un César Cipher pour mon tout premier projet Python à l'école. J'ai en quelque sorte copié le code d'une vidéo YouTube pour le segment de chiffrement principal, mais quand je crypte le message d'un utilisateur, il fait un chiffre aléatoire au lieu d'une clé qu'il introduit dans le shell. C'est le code:Caesar Cipher ne fait pas tourner les lettres correctement? (Python)
abc = 'AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz'
def main():
message = input("What's the message to encrypt/decrypt? ")
key = int(input("What number would you like for your key value? "))
choice = input("Choose: encrypt or decrypt. ")
if choice == "encrypt":
encrypt(message, key)
elif choice == "decrypt":
encrypt(message, key * (-1))
else:
print("Bad answer, try again.")
def encrypt(message, key):
cipherText = ""
for letter in message:
if letter in abc:
newPosition = (abc.find(letter) + key) % 26
cipherText += abc[newPosition]
else:
cipherText += letter
print(cipherText)
return cipherText
main()
Quelqu'un pourrait m'aider à résoudre ce problème s'il vous plaît. Aussi s'il vous plaît ne le rendez pas très complexe puisque je suis un débutant chez Python et que je ne connais pas grand chose du tout.
MERCI!
Jetez un coup d'œil sur [ask] – pvg
Vous ne passez pas votre 'key' ou' message' à la méthode 'encrypt'. – KDecker
La méthode 'encrypt' a deux arguments. – GAVD