A Foci című feladat 5. lépésében összegeznünk kell a 4. lépés során megadott csapat lőtt, illetve kapott góljainak számát:
_(4) team= input('Kérem, adja meg egy csapat nevét: ') _(5) g_sc, g_cc= 0, 0 for t in l_t: if t[1]==team: g_sc+= t[5] g_cc+= t[6] elif t[2]==team: g_sc+= t[6] g_cc+= t[5] print('lőtt: %d kapott: %d' % (g_sc, g_cc))
A következő egységben arra a kérdésre kell válaszolnunk, hogy a csapat melyik fordulóban kapott ki először otthon. Ha a hazai vereséggel végződő mérkőzések adatait egy olyan szótárba gyűjtjük, amelyben a kulcs a forduló sorszáma, az érték pedig a győzelmet arató (vendég)csapat neve, akkor a (kulcsokkal dolgozó) min() függvény épp az első ilyen mérkőzés fordulóját adja meg (a szótár esetleges üresen maradása pedig pont a feladat is nevesítette speciális esetről szól):
_(6) d= {} for t in l_t: if t[1]==team and t[5]<t[6]: d[t[0]]= t[2] if len(d)==0: print('A csapat otthon veretlen maradt.') else: print('A csapat otthon a %d. fordulóban kapott ki először a %s csapattól.' % (min(d), d[min(d)]))
Végül a 7. lépésben statisztikát kell készítenünk arról, hogy melyik végeredmény hány alkalommal fordult elő. Ez alkalommal érdemes kihasználnunk azt a lehetőséget, hogy vektor is lehet szótár kulcsa (lista viszont nem); ne felejtsük el, hogy a feladat azonos kimenetelnek tekinti a fordított eredményt.
_(7) d= {} for t in l_t: tpl= (t[3], t[4]) key= (max(tpl), min(tpl)) if key in d: d[key]+=1 else: d[key]= 1 print('A stat.txt állomány adatainak írása…') with open('inf_e_20071106_m_04_stat.txt', 'w') as f: for key in d: f.write('%d-%d: %d darab\n' % (key[0], key[1], d[key]))