< Zpět na seznam úloh

24 Caesarova šifra

var names = ['text', 'posun']
var datasets = [
  {argv: ["Caesar nemusel nic tajit.", 0], out: "Caesar nemusel nic tajit."},
  {argv: ["Caesar nemusel nic tajit.", 1], out: "Dbftbs ofnvtfm ojd ubkju."},
  {argv: ["Caesar nemusel nic tajit! >:( Avia acta est, holomci.", -372], out: "Uswksj fwemkwd fau lsbal! >:( Snas suls wkl, zgdgeua."},
  {argv: ["Jackdaws love my big sphinx of quartz.", 1000000], out: "Xoqyrokg zcjs am pwu gdvwbl ct eiofhn."},
]

Program dostává text bez diakritiky a celé číslo udávající, o kolik se má každé písmeno posunout v abecedě. Znaky jiné než písmena bez diakritiky se můžou v textu libovolně vyskytovat, a program je má ponechat beze změny. Velikost písmen musí zůstat stejná, jako byla na vstupu.

Posun o 1 znamená, že z písmene A se stane B. Posun o -1 naopak znamená, že z písmene a se stane z.

Písmen abecedy je 26 malých a 26 velkých: ABCDEFGHIJKLMNOPQRSTUVWXYZ.

def main(text, posun):
  return text

Rada: budou se vám hodit funkce ord() a chr(). Druhá rada: Myslím, že je velice pohodlné tenhle kód rozdělit do dvou funkcí.