Indexation et concaténation de chaînes
Voici l’une des premières techniques de chiffrement connues : le chiffre de César. Il repose sur un simple décalage de chaque lettre d’un message d’un certain nombre de positions dans l’alphabet donné. Par exemple, avec l’alphabet anglais, un décalage de 1 pour 'xyz' donne 'yza' et, réciproquement, lors du déchiffrement. Remarquez que 'z' devient 'a' dans ce cas.
Ainsi, le chiffrement/déchiffrement nécessite deux arguments : le texte et une clé entière indiquant le décalage (key = 1 dans l’exemple ci-dessus).
Votre tâche est de créer une fonction de chiffrement en utilisant l’alphabet anglais stocké dans la chaîne alphabet.
Cet exercice fait partie du cours
<cours>S’exercer aux questions d’entretien de code en Python</cours>Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
def encrypt(text, key):
encrypted_text = ''
# Fill in the blanks to create an encrypted text
for char in text.lower():
idx = (alphabet.____(____) + ____) % len(____)
encrypted_text = encrypted_text + alphabet[idx]
return encrypted_text
# Check the encryption function with the shift equals to 10
print(____("datacamp", ____))