Třídy & Dědičnost  16. května 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

0.

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(),
]
1.

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

2.

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

3.

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

4.

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

5.

Každý vůz má jiné náklady za kilometr. Zkus toto v programu nějak zohlednit – ideálně aby funkce, která hledá autobus pro ten školní výlet, našla co nejekonomičtější variantu.

(Pro jednoduchost budeme počítat s tím, že i kdyby autobus musel tankovat po cestě, tak cena dotyčného druhu paliva bude vždy a všude stejná.)

Autorské řešení: 6.py

6.

Ve vozovém parku jsou různé druhy vozů – na naftu a elektřinu. Autobus na elektřinu bude zřejmě nejlevnější varianta, ale asi jím nechceme poslat školu na školní výlet, pokud by vzdálenost byla delší, než dojezd autobusu, protože autobus by se musel po cestě na několik hodin zastavit kvůli nabití. Naopak zastavit s autobusem na naftu kvůli tankování nafty není problém. Zkus to zohlednit v té funkci, která hledá optimální autobus pro školní výlet. (Zřejmě bude potřeba přidat argument, jak dlouhý ten výlet bude.)

Autorské řešení: 7.py

7.

Ve vozovém parku jsou i hybridní vozy. To znamená, že určitou vzdálenost jedou levně, dokud se nevybijí baterky, a pak jedou dál na naftu, ale o něco dráž. Zkus to nějak zohlednit při výběru optimálního autobusu pro školní výlet :)

Autorské řešení: 8.py

8.

Zkus program upravit tak, aby v něm cena paliva (nafty, elektřiny...) nebyla pevně zabudovaná, ale aby šla zadat při běhu programu.

Autorské řešení: 9.py