Hide keyboard shortcuts

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 

2 

3 

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: 

10 

11 * Quantas partidas terminam portime out (1000 rodadas); 

12 

13 * Quantos turnos em média demora uma partida; 

14 

15 * Qual a porcentagem de vitórias por comportamento dos jogadores; 

16 

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)}%")