Het Caesarcijfer is een bekende techniek die Julius Caesar gebruikte om zijn berichten geheim te houden. Het werkt als volgt: elke letter wordt vervangen door een andere letter die een aantal plaatsen verder staat in het alfabet. 🔒
👀 Voorbeeld - Caesarcijfer
In de volgende figuur zie je wat er gebeurt als we een bericht versleutelen met een Caesarcijfer met een afstand van 2.
- Een A wordt een C
- Een B wordt een D
- Enzovoort…
Bijvoorbeeld, het woord geheim wordt dan igjgko.
Om dit algoritme in Python te implementeren, maken we gebruik van de ingebouwde functies
ord()
enchr()
. Deze functies doen precies het tegenovergestelde van elkaar:
- De functie
ord()
zet een karakter om in een getal. Bijvoorbeeldord('a') = 97
.- De functie
chr()
zet een getal om in een karakter. Bijvoorbeeldchr(107) = 'k'
.Merk op dat:
chr(ord('a')) = 'a'
ord(chr(107)) = 107
💻 Programmeeroefening - Ord en chr
Schrijf een functie
omhoog(letter)
die een letter omzet naar de volgende letter in het alfabet. Bijvoorbeeld:
'a'
naar'b'
'b'
naar'c'
- …
- De letter
'z'
verander je in een'a'
.Ga ervan uit dat er enkel kleine letters worden gebruikt. Probeer een manier te bedenken om dit te doen zonder gebruik te maken van voorwaardelijke code (dus zonder
if
/else
).
💡 Hint
Gebruik de
ord()
enchr()
functies om de letters om te zetten. De modulo-operator (%
) kan handig zijn om te controleren of je het einde van het alfabet hebt bereikt. Hoe kun je dit toepassen in je functie?