Caesar Cipher algorithm. Inkludera strings med skiljetecken.
Hej! Jag har kört fast en bit in på en programmeringsuppgift och skulle behöva hjälp.
Uppgiften är att man ska skriva en funktion som krypterar strings enligt Caesar Cipher algoritmen. Den algoritmen innebär att om man skriver in ett ord eller mening så ska varje bokstav bytas ut mot den bokstav som är k steg åt höger i alfabetet. Funktionens parametrar är en string och k.
Så om man har ordet ost och har k = 1 så blir det krypterade ordet ptu. Jag har lyckats skriva en funktion som kan ta in ord med små och/eller stora bokstäver.
Men icke-alfabetiska tecken (som mellanslag och punkter) måste också bevaras i uppgiften och jag inte kan komma på hur man skulle kunna programmera det.
Jag har försökt med att lägga till skiljetecken i min variabel alphabet men eftersom det finns så många skiljetecken så verkar det inte som en bra lösning och sen när man ska börja med andra delen av uppgiften (dekryptering) så blir det omöjligt att ha det så.
Men något annat kan jag inte komma på.
Är det någon som har något tips? Tack!
Min kod än så länge:
Dela upp det:
if i in alphabet:
new_index = ...
encrypted_string = ...
else:
gör rätt sak med i
Du räddade mig, tusen tack!