Opakování & Třídy  20. listopadu 2019

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

Cvičení na analýzu reálných dat

0.

Napiš tyto funkce. Každá z nich dostane jako argument řetězec s rodným číslem a nějak ho zanalyzuje:

  • Je ve správném formátu: 6 číslice, lomítko, 4 číslice? (vrací True nebo False)
  • Je dělitelné jedenácti? (vrací True nebo False)
  • Jaké datum narození je v čísle zakódováno? (vrací trojici čísel – den, měsíc, rok)
  • Jaké pohlaví je v čísle zakódováno? (vrací 'muž' nebo 'žena')

Pro účely úkolu stačí, když bude program umět zpracovat čísla vydávaná od roku 1985. Reálná rodná čísla můžou být složitější :)

1.

Napiš program, který se uživatele zeptá na rodné číslo a vypíše výsledky.

Cvičení na třídy

2.

Vytvoř si (prozatím) jednoduchý program, který reprezentuje vozový park fiktivního dopravního podniku - mohl by vypadat nějak takto:

class Vuz:
    def __init__(self):
        self.kapacita = 10

vozovy_park = [
    Vuz(),
    Vuz(),
    Vuz(),
]
3.

Vytvoř funkci, která spočítá celkovou kapacitu všech vozů ve vozovém parku – mohla by vypadat např. takto:

def secti_celkovou_kapacitu(seznam_vozu):
    ...

Autorské řešení: 1_2.py

4.

Uprav program tak, aby vozy ve vozovém parku měly různou kapacitu. Kód v úkolu 0. je jen ukázka, můžeš to udělat klidně i úplně jinak :)

Autorské řešení: 3.py

5.

To byla jen rozcvička, teď už bez napovídání :) Vytvoř (další) funkci, které lze zadat seznam vozů a požadovanou minimální kapacitu, a ta funkce najde vůz, který má tuto nebo vyšší kapacitu.

Například: školní výlet si potřebuje objednat autobus pro 20 lidí a my chceme nějaký takový ve vozovém parku najít. Zavolej tuto funkci a vypiš její výsledek (návratovou hodnotu).

Autorské řešení: 4.py

6.

Zřejmě by bylo fajn vozy nějak jednoznačně identifikovat – přidej jim atribut spz. Uprav program z předchozího bodu, aby vypisoval SPZ nalezeného vozu.

Autorské řešení: 5.py nebo 5_jinak.py