Try   HackMD

Jak opravovat úkoly

Snaž se napovědět, ne vyřešit úkol.

Pokud to zadání výslovně neříká, dá se problém řešit i jinak, než bychom „chtěli“.

Nikdy nenavrhuj vylepšení, která používají něco co ještě v kurzu nebylo (i kdydby byly užitečné nebo best practice). Jediná výjimka je, když se účastník sám zeptá jestli to nejde líp. Spíš než lidem ukázat všechny možnosti Pythonu je chci naučit jak spojovat dohromady to, co už umí. I když bude kód míň elegantní. Pozor na to, že někteří jsou napřed a budou používat např. seznamy dřív než jsou v kurzu.

Ze začátku neřeš špatné odsazení a jiné PEP-8 prohřešky. Na to bude dost času.

Týmy

Kurz je týmový a úkoly se odevzdávají za celý tým. Na odevzdávátku se ale do kurzu může přihlásit kdokoli.

Účty s občanským jménem nejsou účastníci kurzu.

Konkrétní úkoly

Želva

Obrazce nemusí být přesně takové jako na obrázku; můžou být:

  • pootočené
  • větší/menší
  • u spirál s větší/menší mezerou mezi čárami, příp. může jinak růst (např. logaritmická spirála místo Archimédovy)
  • kytka může mít jakékoli listy – klidně jen čárky :)

Každý má jinak velkou obrazovku. Když se to na obrazovku nevejde, není to chyba.

– kolečko jde nakreslit pomocí circle() – troj/čtyř/pětiúhelníky jdou i bez cyklu. Klidně i 95-úhelník. (V dalším úkolu zadá počet stran uživatel, tam už je cyklus potřeba.)

Řetězce; tabulky z "X"

V úkolech, u kterých je zmíněno pojmenování proměnných, vyžaduju hezká jména (např. cislo_radku, sloupec). Je dobrá v komentářích zmínit proč tak pojmenováváme (aby to bylo srozumitelnější pro ostatní lidi, co ten program čtou). U ostatních ne, ať toho nemusí tolik přepisovat. (Samozřejmě jen pokud se v tom kódu sami neztratí – pak je lepší pojmenovávání proměnných dobrý první krok.)

Úkol 12 (Předchozí programy z této sekce upravte tak, aby počet řádků [] mohl zadat uživatel) je tu hlavně proto, aby lidi používali cykly. Když cykly používají u všech ostatních úkolů (a tedy by tenhle úkol byl jednoduchý), uznávám jen jedno řešení. Jestli ne, trvám na úpravu úkolů co cykly nemají.

U Šibenice (první verze) není potřeba ošetřit prázdný nebo příliš dlouhý vstup. To bude za úkol příště. (Doporučuju je ale vyzkoušet; vzniklé chyby jsou často vtipné.) Když si ale někdo Šibenici vylepšuje, tak ho i na tyhle chybky upozorním. Očividně chce víc.

Seznamy a n-tice

Úkol 2 (filtruj_k): Funkce by měla zvládnout i seznam s prázdným řetězcem.

Úkol 5 (řazení s ignorováním 1. písmena): serad_od_druheho(['krocan', 'prase']) by mělo vrátit ['prase', 'krocan']. Když se seřadí jen podle 2. písmena, vyjdou naopak.

Úkol 6 (vytvoření balíčku): Pozor na to, že u dvojic záleží na pořadí. Dvojice barva-hodnota je něco úplně jiného než dvojice hodnota-barva. (K tomuhle problému dodám: Kdyby vaši kolegové z jiného týmu zkusili použít tuhle funkci, tak na tenhle problém narazí.)