0
I have this program that simulates games of a mega "lottery" style. It works normal, but I would like to improve my 'count' function to present all the repeated values of each number within each game.
For example: For a total of 100 games I got a total of x numbers 1, y numbers 2 and so on for all 60 numbers.
I did the coding in a childish way and would like help to improve it by removing the exaggerated repetitions and leaving the code cleaner.
from random import randint
class Megasena(object):
def __init__(self):
self.quantidade_jogos = int(input(print('Quantos jogos deseja fazer ? : ')))
self.todos_jogos = []
def cria_jogo(self):
x = 0
while not x == self.quantidade_jogos:
self.jogo = []
for numeros in range(5):
numeros = randint(1,60)
if numeros not in self.jogo:
self.jogo.append(numeros)
if len(self.jogo) == 5:
x += 1
#print(f'Jogo {x} = {self.jogo}')
self.todos_jogos.append(self.jogo)
print(self.todos_jogos)
return self.todos_jogos
def contagem(self):
self.todos_jogos = self.cria_jogo()
numero1 = numero2 = numero3 = numero4 = numero5 = numero6 = numero7 = numero8 = numero9 = numero10 = 0
for jogos in self.todos_jogos:
numero1 += jogos.count(1)
numero2 += jogos.count(2)
numero3 += jogos.count(3)
numero4 += jogos.count(4)
numero5 += jogos.count(5)
numero6 += jogos.count(6)
numero7 += jogos.count(7)
numero8 += jogos.count(8)
numero9 += jogos.count(9)
numero10 += jogos.count(10)
print(f'A quantide de números 1 foi {numero1} \n'
f'A quantide de números 2 foi {numero2} \n'
f'A quantide de números 3 foi {numero3} \n'
f'A quantide de números 4 foi {numero4} \n'
f'A quantide de números 5 foi {numero5} \n'
f'A quantide de números 6 foi {numero6} \n'
f'A quantide de números 7 foi {numero7} \n'
f'A quantide de números 8 foi {numero8} \n'
f'A quantide de números 9 foi {numero9} \n'
f'A quantide de números 10 foi {numero10} \n'
)
print(f'Para um total de {len(self.todos_jogos)} jogos')
Megasena().contagem()
Thank you so much for your attention, that way you made it much more sophisticated !
– Marcelo Ivan