Nákupní seznam
Chystáte se péct několik druhů vánočního cukroví. Napište program, který vám pomůže vytvořit z receptů nákupní seznam.
Vstup
Každý recept začíná jedním řádkem s názvem cukroví. Následuje několik řádků se seznamem ingrediencí ve formátu:
- INGREDIENCE: MNOŽSTVÍ JEDNOTKA
řádek začíná spojovníkem (-) a mezerou
INGREDIENCEje název ingredience, může obsahovat mezery (neobsahuje dvojtečku)následuje dvojtečka (:) a mezera
MNOŽSTVÍje kladné celé číslonásleduje mezera
JEDNOTKAje jedno slovo (bez mezer), např.g,ks,lžíce, ...
Hned po seznamu ingrediencí následuje další recept.
Pokud se stejná INGREDIENCE objevuje ve více receptech, máte zaručeno, že JEDNOTKA u ní bude ve všech receptech stejná.
Celý vstup je ukončen jedním prázdným řádkem.
Výstup
Vytvořte nákupní seznam, který bude obsahovat všechny INGREDIENCE ze všech receptů. Pokud se ingredience opakuje ve více receptech, sečtěte její MNOŽSTVÍ.
Nákupní seznam vypište seřazený podle abecedy ve tvaru:
INGREDIENCE: CELKOVÉ_MNOŽSTVÍ JEDNOTKA
Pokud je CELKOVÉ_MNOŽSTVÍ u ingredience udávané na gramy (g) vyšší nebo rovno 1 000 g (= 1 kg), vypište ho v kilogramech (kg) zaokrouhlené na jedno desetinné místo. Ve všech ostatních případech je CELKOVÉ_MNOŽSTVÍ celé číslo.
Příklad
Vstup:
Perníčky - hladká mouka: 400 g - hera: 75 g - vejce: 2 ks - cukr moučka: 140 g - med: 2 lžíce - jedlá soda: 1 lžička - skořice: 1 lžička - perníkové koření: 1 ks Linecké těsto - hladká mouka: 210 g - cukr moučka: 70 g - máslo: 140 g - žloutky: 2 ks Hladká mouka do zásoby - hladká mouka: 1000 g
Výstup:
cukr moučka: 210 g hera: 75 g hladká mouka: 1.6 kg jedlá soda: 1 lžička med: 2 lžíce máslo: 140 g perníkové koření: 1 ks skořice: 1 lžička vejce: 2 ks žloutky: 2 ks
V receptech v příkladu se opakuje jen hladká mouka a cukr moučka. Pro mouku máme 400 + 210 + 1000 = 1610 g, což je víc než 1 kg, takže výsledek vypíšeme v kilogramech a zaokrouhlíme. Cukru je 140 + 70 = 210 g, takže vypisujeme v gramech.
Nápověda
Pro načítání vstupu a rozdělení řádků s ingrediencemi na jednotlivé části se vám můžou hodit metody find/rfind (nalezení prvního/posledního výskytu zadaného znaku nebo podřetězce) a použití slice nebo split (rozdělení textového řetězce na části).
Pro formátování desetinných čísel (zaokrouhlování) se může hodit f-string, např. print(f"{mnozstvi:.1f}") vypíše hodnotu v proměnné mnozstvi zaokrouhlenou na jedno desetinné místo.