Indicizzazione e concatenazione di stringhe
Ti presentiamo una delle tecniche di cifratura più antiche: il cifrario di Cesare. Si basa su uno spostamento semplice di ogni lettera di un messaggio di un certo numero di posizioni lungo l’alfabeto dato. Ad esempio, dato l’alfabeto inglese, uno shift di 1 per 'xyz' diventa 'yza' e viceversa in caso di decifratura. Nota che in questo caso 'z' diventa 'a'.
Quindi, cifratura/decifratura richiedono due argomenti: il testo e una chiave intera che indica lo shift (key = 1 nell’esempio sopra).
Il tuo compito è creare una funzione di cifratura dato l’alfabeto inglese memorizzato nella stringa alphabet.
Questo esercizio fa parte del corso
Esercitarsi con le domande di colloquio di coding in Python
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
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", ____))