Argumenty programu, čtení ze souboru
Lekce 10
Úlohy
- U některých úkolů je specifikováno, že vstup má být čtený ze souboru.
- Jinde čtěte ze standardního vstupu, tedy z příkazového řádku.
- V tomto adresáři jsou vstupy
*-in.txta očekávané výstupy*-exp.txt.- Adresář si jde stáhnout jako ZIP.
- Můžete je použít na otestování vašeho kódu
Zkrášlení repozitáře (3b)
Na lekcích jsme si říkali o určitých konvencích, jak by náš kód měl vypadat. Také jsme si stanovili, jak by asi bylo vhodné členit náš repozitář, aby se v něm vyznal každý.
Aplikujte tyto konvence na váš repozitář.
Prkna (4b)
- Máme dřevěná prkna různých délek. Jejich délky dostanete na vstupu na jednom řádku, budou to celá čísla.
- Najděte dvě prkna, jejichž celková délka bude
D.- Hodnotu
Ddostanete na druhém řádku.
- Hodnotu
- Napište do komentáře v programu, jak rychle váš program běží v závislosti na počtu prken.
Chybějící číslo (6b)
- Jako argument programu dostanete jméno souboru.
- V něm dostanete
N-1čísel, na každém řádku jedno. - Jsou to čísla od 1 do
N(včetně) v náhodném pořadí, ale jedno z těchto čísel chybí. - Zjistěte, které je chybějící číslo.
- Hodnotu
Nneznáte dopředu. Umíte ji však zjistit podle počtu řádků v souboru. - Nápověda: Pomocí
for line in fpřečtěte čísla a uložte si je do seznamu. - Těžší verze (8b): Vyřešte úlohu, aniž byste si museli všechna čísla ukládat.
Liga (7b)
- Tým hraje v lize. Známe výsledky jeho zápasů.
- Na vstupu dostanete řetězec složený z písmen
VaP.Vznačí výhru,Pznačí prohru.- Za výhru tým dostane 1 bod, za prohru 1 bod ztratí.
- Najděte období, během kterého tým získal v součtu nejvíce bodů.
- Vypište pořadové číslo prvního a posledního zápasu tohoto období. Číslujeme od 1.
- Nápověda: Procházejte zápasy postupně a počítejte si průběžný součet bodů.
- Pamatujte si dosud minimální součet bodů.
- Spočítejte, kolik bodů by tým získal od minima do aktuálního zápasu.
- Hledejte nejvyšší takovou hodnotu.
Rejstřík (9b)
- Jako argument programu dostanete jméno souboru.
- Soubor přečtěte, vhodně předzpracujte a zavřete.
- Poté na standardním vstupu dostanete jedno slovo.
- Vypište čísla řádků, na kterých se toto slovo vyskytuje.
- Nápověda: Použijte slovník. Klíč bude slovo, hodnota seznam řádků.
Piškvorky (10b)
- Jako argument programu dostanete jméno souboru.
- V něm bude hrací pole o velikosti
10 x 10. Tedy 10 řádků, na každém 10 znaků.- Znaky
x,ojsou symboly hráčů,.značí prázdné pole.
- Znaky
- Rozhodněte, jestli má nějaký hráč 5 symbolů v řadě, případně kdo.
- Nápověda: Projděte všechna políčka. Pro každé políčko ověřte všech 8 směrů.
- Ověření směru může být funkce, které zadáte počáteční políčko (2 čísla) a směr (2 čísla).
- Napište si funkci, která vám vrátí symbol na daném políčku. Pokud je mimo hrací pole, vrátí například
..