NBA¶
Les classificacions de la lliga de bàsquet de la NBA s’emmagatzemen en
un fitxer on a cada línia hi ha la informació d’un equip formada pel
nom de l’equip, el nom de la divisió on juga i el nombre de partits
guanyats i perduts, tot separat amb l’string ' : ' (un blanc, dos
punts i un blanc). El nombre de partits guanyats i perduts està
separat per un guió. Com a exemple, pots descarregar el fitxer
nba.txt del que se’n mostren les primeres
línies:
Boston Celtics : Atlantic : 11-9
Indiana Pacers : Central : 9-11
Utah Jazz : Northwest : 13-10
Portland Trail Blazers : Northwest : 12-11
Brooklyn Nets : Atlantic : 9-13
Desa les següents funcions al fitxer nba.py.
Dissenya la funció
bons_equips()que donat el nom d’un fitxer com l’indicat i un enter, v, retorni una llista amb els noms dels equips que han guanyat més de v partits ordenats alfabèticament de forma ascendent.>>> bons_equips('nba.txt', 12) ['New Orleans Pelicans', 'Oklahoma City Thunder', 'Orlando Magic', 'Phoenix Suns', 'San Antonio Spurs', 'Toronto Raptors', 'Utah Jazz'] >>> bons_equips('nba.txt', 15) ['San Antonio Spurs'] >>> bons_equips('nba.txt', 11) ['Chicago Bulls', 'New Orleans Pelicans', 'Oklahoma City Thunder', 'Orlando Magic', 'Phoenix Suns', 'Portland Trail Blazers', 'San Antonio Spurs', 'Toronto Raptors', 'Utah Jazz'] >>> bons_equips('nba.txt', 18) []
Nota
Podeu descarregar el fitxer amb tests
bons_equips.txtDissenya la funció
agrupa()que donat el nom d’un fitxer com l’indicat, retorni un diccionari on la clau sigui la divisió i el valor la llista d’equips ordenats alfabèticament de forma ascendent.>>> d = agrupa('nba.txt') >>> d == {'Atlantic': ['Boston Celtics', 'Brooklyn Nets', 'Toronto Raptors'], ... 'Central': ['Chicago Bulls', 'Cleveland Cavaliers', 'Indiana Pacers'], ... 'Northwest': ['Oklahoma City Thunder', 'Portland Trail Blazers', ... 'Utah Jazz'], 'Southeast': ['Orlando Magic', 'Washington Wizards'], ... 'Pacific': ['Los Angeles Lakers', 'Phoenix Suns', 'Sacramento Kings'], ... 'Southwest': ['Dallas Mavericks', 'New Orleans Pelicans', 'San Antonio Spurs']} True
Nota
Podeu descarregar el fitxer amb tests
agrupa.txtDissenya la funció
guanyen()que donat el nom d’un fitxer com l’indicat i un string indicant una divisió, retorni una llista amb els equips d’aquella divisió tals que el nombre de partits que han guanyat és més gran que el nombre de partits que han perdut. Els elements d’aquesta llista han de ser tuples de dos elements: nom de l’equip i nombre de partits guanyats (enter) i han d’estar ordenats de forma decreixent pel nombre de partits guanyats.>>> guanyen('nba.txt', 'Atlantic') [('Toronto Raptors', 15), ('Boston Celtics', 11)] >>> guanyen('nba.txt', 'Central') [('Chicago Bulls', 12), ('Cleveland Cavaliers', 11)] >>> guanyen('nba.txt', 'Northwest') [('Utah Jazz', 13), ('Oklahoma City Thunder', 13), ('Portland Trail Blazers', 12)] >>> guanyen('nba.txt', 'Pacific') [('Phoenix Suns', 14), ('Sacramento Kings', 11)] >>> guanyen('nba.txt', 'Southwest') [('San Antonio Spurs', 16), ('New Orleans Pelicans', 13)]
Nota
Podeu descarregar el fitxer amb tests
guanyen.txt
Solucions
Disposeu de solucions al fitxer nba.py