Search
Pokyny: Jednotlivé programy pojmenujte číslem příkladu (01.py, 02.py, …), zabalte do jednoho zip souboru a nahrajte do BRUTE (zkouska). Pokud budete nahrávat samostatné soubory, napište na začátek souboru do komentáře, o který příklad se jedná. Nepoužívejte v názvech složek a souborů diakritiku.
zip
1. Napište program, který provede kódování pomocí Vigenèrovy šifry. Šifrování probíhá posunem písmen podobně jako u Caesarovy šifry s tím rozdílem, že Vigenèrova šifra využívá klíč. Pro posun písmen zdrojového textu se postupně používají písmena z klíče: a posouvá o 0, b o 1, … z o 25. Pokud je klíč kratší než zdrojový text, jsou použita písmena z klíče opět od začátku. Znaky zdrojového textu jsou z množiny A-Za-z, klíč je pouze z malých písmen.
a
b
z
Příklad:
def vigenere(text, klic): pass print(vigenere('pampeliska', 'klic')) # ZLUROWQUUL
2. Napište program, který převede víceslovná výrazy na lower Camel Case. Příklad:
def lcc (text): pass print(lcc('jedna pani povidala')) # jednaPaniPovidala
3. Napište program, který přečte ze souboru matici celých čísel a vypíše ji následujícím způsobem:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 2 3 4 8 12 16 15 14 13 9 5 6 7 11 10
4. Napište funkci, která spočítá rozdíl ve dnech mezi dvěma daty v rámci jednoho nepřestupného roku. Data jsou zadána ve formátu YYYYMMDD. Pořadí argumentů je libovolné, výsledkem je kladné číslo. V případě nesprávného formátu vstupního data program vypíše ERROR.
ERROR
5. Napište program pro převod čísla v rozsahu 1 - 1999 reprezentovaného římskými do vyjádření v arabských číslicích.
6. Napište funkci, která najde ve větě slovo s nejmenším počtem souhlásek. Slova jsou oddělena mezerou.