Soubory a výjimky  25. listopadu 2021

Materiály

Nejste účastníkem kurzu
Pro zápis do kurzu se nejprve přihlašte a následně použijte tlačítko v přehledu kurzu.

Domácí projekty

Pokud jsi ještě nenaprogramoval(a) hry Šibenice(základní verze, rozšířená verze) a Piškvorky, tak se k nim prosím vrať a zkus je dodělat. Obzvláště Piškvorky jsou důležité, protože je budeme využívat i v následujících lekcích.

V následujících projektech můžeš zkusit tyto hry trochu vylepšit pomocí výjimek a práce se soubory.

0.

Načítej „obrázky” v Šibenici ze souborů, místo řetězců ve zdrojovém kódu.

Obrázky k Šibenici nalezneš v popisu rozšířeného zadání Šibenice.

Nahraj k tomuto úkolu upravené řešení Šibenice

1.

Přepiš funkci tah v Piškvorkách tak, aby skončila s chybou ValueError v těchto případech:

  • Hra na pozici, která není v poli, např. tah('--------------------', -1, 'x')

  • Hra na obsazené políčko, např. tah('x-------------------', 0, 'o')

  • Hra jiným symbolem než 'x' nebo 'o', např. tah('--------------------', 0, 'řeřicha')

Nahraj k tomuto úkolu upravené řešení funkce tah

2.

Uprav piškvorky tak, aby se stav hry po každém tahu (jak hráče, tak počítače) uložil do souboru. Soubory by se měly jmenovat tah-<cislo-tahu>.txt, takže postupně tah-0.txt, tah-1.txt atd. Půjde si tak zpětně prohlédnout, jak probíhala hra 1D piškvorek.

Nahraj k tomuto úkolu upravené řešení Piškvorek (celý kód dohromady)

V následujících projektech si můžeš ještě více procvičit práci se soubory.

3.

Napiš program, který zkopíruje soubor na jiné místo. (Zeptá se na původní jméno a nové jméno, načte původní soubor a zapíše obsah do nového.)

Program zkoušej v adresáři, který neobsahuje nic důležitého – pro Python není těžké přepsat soubor, ve kterém jsou důležité informace!

4.

Napiš program, který načte soubor (cestu k souboru zadá uživatel) a vypíše základní statistiky o obsahu souboru:

  • Celkový počet znaků
  • Počet znaků malé abecedy (a-z)
  • Počet znaků velké abecedy (A-Z)
  • Počet číslic (0-9)
  • Počet mezer