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

  • INGREDIENCE je název ingredience, může obsahovat mezery (neobsahuje dvojtečku)

  • následuje dvojtečka (:) a mezera

  • MNOŽSTVÍ je kladné celé číslo

  • následuje mezera

  • JEDNOTKA je 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.