Strängindexering och sammanslagning
Du presenteras här med en av de tidigast kända krypteringsteknikerna – Caesarchiffret. Det bygger på en enkel förskjutning av varje bokstav i ett meddelande ett visst antal positioner framåt i alfabetet. Med det engelska alfabetet som grund innebär till exempel en förskjutning på 1 för 'xyz' att resultatet blir 'yza', och omvänt vid dekryptering. Observera att 'z' blir 'a' i det här fallet.
Kryptering och dekryptering kräver därför två argument: texten och en heltalsnyckel som anger förskjutningen (key = 1 i exemplet ovan).
Din uppgift är att skapa en krypteringsfunktion utifrån det engelska alfabetet, som lagras i strängen alphabet.
Den här övningen är en del av kursen
Öva på kodningsintervjufrågor i Python
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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", ____))