Nákupní košík
Vítejte v poslední lekci kurzu Pythonu! V ní spojíte všechno, co jste se naučili, a krok za krokem napíšete jeden užitečný program: účtenku k objednávce z online obchodu s potravinami. Až budete hotovi, program vypíše tohle:
Položku Vejce nelze přidat: počet musí být alespoň 1.
ÚČTENKA
Chléb: 2 x 40 Kč = 80 Kč
Mléko: 6 x 25 Kč = 150 Kč
Sýr: 1 x 70 Kč = 70 Kč
Čokoláda: 3 x 30 Kč = 90 Kč
Káva: 2 x 130 Kč = 260 Kč
Celkem: 650 Kč
Doprava: zdarma
K zaplacení: 650 KčProgram spočítá cenu každého řádku i celé objednávky, rozhodne, jestli je doprava zdarma, a zkontroluje položky, které zákazník přidává do košíku. Použijete proměnné, f-řetězce, podmínky, seznamy, cykly, funkce i slovníky: všechno z kurzu. Každé cvičení navazuje na to předchozí (editor začíná jeho hotovým kódem) a přidá jeden kousek.
Data. Košík je v proměnné kosik na začátku programu. Je to seznam slovníků, jeden pro každou položku. Každý slovník má tři klíče: "nazev", "cena" (cena za jeden kus v celých korunách) a "pocet" (kolik kusů zákazník chce). Všimněte si čárky za posledním slovníkem: Python ji dovoluje a další položka se pak přidává snáz. Ve skutečném obchodě by data přišla z webu. Programy tady dostávají data z proměnných.
Plán. Program je rozdělený na funkce a každá má jeden úkol. Teď je tu jen jedna: vypis_uctenku(polozky), která vypíše účtenku pro seznam položek, který dostane jako argument. Zatím vypíše jen nadpis. Úplně dole ji program zavolá s naším košíkem. Takhle program obvykle vypadá: nahoře data, pod nimi funkce a na konci kód, který je používá.
Uvnitř funkce pracujte s parametrem polozky, ne s proměnnou kosik. Funkce pak vypíše účtenku pro jakýkoli seznam, který dostane, nejen pro tenhle jeden košík.
Připomenutí, jak projít seznam slovníků:
knihy = [
{"nazev": "Hobit", "stran": 310},
{"nazev": "Matylda", "stran": 240},
]
for kniha in knihy:
print(f"{kniha['nazev']}: {kniha['stran']} stran")Hobit: 310 stran
Matylda: 240 stranVšimněte si uvozovek: f-řetězec je ve dvojitých uvozovkách, a proto jsou klíče uvnitř v jednoduchých. Dvojité uvozovky uvnitř dvojitých fungují jen v novějších verzích Pythonu.
Jak psát:
Pokyny
Ve funkci vypis_uctenku() pod řádek, který vypisuje nadpis, napište cyklus for, který projde polozky a vypíše název každé položky.
Doplňte řádek v cyklu tak, aby ukazoval i počet kusů a cenu za kus. Použijte f-řetězec. Řádek s chlebem bude Chléb: 2 x 40 Kč. Kč je v f-řetězci obyčejný text: napište ho za složené závorky s cenou a oddělte ho mezerou.
Začněte programovat zdarma
1/7