←← →→

C99.hu

Egy gondolkodtató gyakorló feladatokból álló gyűjtemény. Főbb témák a nyelvspecifikus programozás és a matematika.

Főoldal

A kutyakeksz-raktár

Python
Nehézség: Gondolkodtató

A menhelyen minden kutya pontosan annyi kekszet kapna, amennyit megérdemel, de a raktáros néha eltéveszti a számolást. A feladat a kekszek csoportosítása és egy összesítő lista készítése.

orders = [
'Bodri,3',
'Morzsi,2',
'Bodri,1',
'Lufi,5',
'Morzsi,4',
'Bodri,2',
'Lufi,1',
'Pötyi,3'
]


def count_biscuits(lines):
totals = {}
for line in lines:
name, amount = line.split(',')
amount = int(amount)
if name not in totals:
totals[name] = 0
totals[name] += amount
return totals


def print_sorted_totals(totals):
for name in sorted(totals.keys()):
print(name, totals[name])


biscuits = count_biscuits(orders)
print_sorted_totals(biscuits)


MegoldásA feladat lényege egy szótár használata: minden kutya neve alá összeadjuk a kekszek számát, majd név szerint rendezetten kiírjuk az eredményt. A szép kimenet miatt a kulcsokat ábécé sorrendben érdemes bejárni.