<div dir="ltr"><div dir="ltr"><div dir="ltr">ciao Gabriele,</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Il giorno lun 11 feb 2019 alle ore 16:38 Gabriele Battaglia <<a href="mailto:iz4apu@libero.it">iz4apu@libero.it</a>> ha scritto:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Ciao a tutti.<br>
Quanto tempo!<br>
Dunque dunque, vediamo chi, fra i sopravvissuti all'influenza, tremenda, <br>
di quest'anno, avrà voglia di leggere la mia domanda e darmi una dritta.<br>
<br>
Siamo nella fase finale di un gioco ed è ora di stampare la classifica <br>
dei vittoriosi.<br>
<br>
Ho un dizionario che ha questa struttura:<br>
<br>
giocatori= {'nome' : [ punteggio, vittorie, patte, sconfitte ] }<br>
<br>
Posso pertanto accedere facilmente ai dati dei singoli giocatori, ad <br>
esempio per conoscere il numero di vittorie accumulate da Valter <br>
interrogherò giocatori['Valter'][1]<br>
<br>
Il problema sorge quando devo stampare una classifica. L'utente può <br>
decidere se la vuole basata sul punteggio piuttosto che sul numero di <br>
vittorie, se la vuole ascendente o discendente.<br></blockquote><div><br></div><div>FIELDS = ['nome', 'punteggio', 'vittorie', 'patte', 'sconfitte']</div><div><br></div><div>def output(d, field_name, reverse=False):<br></div><div>    pos = FIELDS.index(field_name)</div><div>    direction = "inversa " if reverse else ""</div><div>    flat = [(n, *v) for n, v in giocatori.items()]</div><div>    print(f"Classifica ordinata {direction}per {field_name}")</div><div>    print("\n".join(["\t".join(map(str, r)) for r in sorted(flat, key=lambda r: r[pos], reverse=reverse)]))</div><div><br></div><div>giocatori= {</div><div>    'nc' : [1, 50],</div><div>    'nd' : [2, 10],</div><div>    'nb' : [3, 30],</div><div>    'ne' : [4, 20],</div><div>    'na' : [5, 40],</div><div>}</div><div><br></div><div>output(giocatori, 'nome')</div><div>output(giocatori, 'vittorie')</div><div>output(giocatori, 'vittorie', True)</div><div><br></div><div>Si avvicina a quello che avevi in mente?</div><div><br></div><div>Marco </div></div></div></div>