Hot-keys on this page
r m x p toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
1from collections import Counter
4def show_statistics(results):
5 '''
6 ### Saída
7 Uma execução do programa proposto deve rodar 300 simulações, imprimindo no
8 console os dados referentes às execuções. Esperamos encontrar nos dados as
9 seguintes informações:
11 * Quantas partidas terminam portime out (1000 rodadas);
13 * Quantos turnos em média demora uma partida;
15 * Qual a porcentagem de vitórias por comportamento dos jogadores;
17 * Qual o comportamento que mais vence.
18 '''
19 total_timeout = sum([1 for result in results if result["time_out"]])
20 # total_time = sum([result["time_it"] for result in results])
21 total_played = sum([result["played"] for result in results])
22 count_winner = Counter()
23 for result in results:
24 strategy = str(result['strategy'])
25 count_winner[strategy] += 1
26 # quantos turnoe em media demora uma partida
27 print(
28 f'''Quantas partidas terminam por tempo esgotado(timeout): '''
29 f'''{total_timeout}'''
30 )
31 print(
32 f'''Quantos turnos em média demora uma partida: '''
33 f'''{total_played / len(results):.1f}'''
34 )
35 print(
36 f'''Qual o comportamento que mais venceu:
37 {count_winner.most_common(1)[0][0]}
38 venceu: {count_winner.most_common(1)[0][1]}'''
39 )
40 print("Qual a porcentagem de vitórias por comportamento dos jogadores")
41 for strategy, winner in count_winner.most_common():
42 print(" * ", f"{strategy}: {(winner * 100)// len(results)}%")