Faça um programa em python para ler o arquivo sena.txt, que contem vários jogos da Mega Sena (um jogo por linha), e mostrar todos quadras, quinas e senas foram relacionadas com aqueles jogos. O programa deve pedir que o usuário informe como dezenas sorteadas.
Respostas
O programa abaixo não trata todos possíveis erros/exceções decorrentes da entrada incorreta de dados (não há validação de dados) e/ou decorrente de erros no arquivo txt.
Assim, cabe ao usuário se assegurar dos dados antes de registrar e envia-los.
Obs.: Os pontos que precedem as linhas de programação não fazem parte do programa e devem, portanto ser desconsiderados, foram colocados apenas para garantir a indentação do código aqui no site.
arquivo = open('sena.txt')
quadras = quinas = senas = 0
sorteados = input('Digite as dezenas sorteadas: ').split()[:6]
for jogo in arquivo:
.....acertos = 0
.....for numero in jogo.split():
..........if numero in sorteados:
...............acertos += 1
.....if acertos == 4:
..........quadras += 1
.....elif acertos == 5:
..........quinas +=1
.....elif acertos == 6:
..........senas += 1
print(f'''
Os jogos do arquivo sena.txt acertaram:
{quadras} quadra (s)
{quinas} quina (s)
{senas} sena (s)''')
arquivo.close()
Comentários:
--> Utilizamos a função open() para abrir o arquivo "sena.txt" no modo leitura. Note que se o arquivo não existir ou não for encontrado, será retornado uma exceção.
--> As variáveis "quadras", "quinas" e "senas", inicializadas com 0.
--> A variável "sorteados" na qual será guardada as dezenas sorteadas (enviadas pelo usuário) é enviada como string. Note que, após dividirmos a string recebida com o método split(), consideramos apenas as primeiras 6 dezenas no caso de serem enviadas mais.
--> Através de 2 laços for aninhados, contamos dentro de cada jogo do arquivo sena.txt a quantidade de números (dezenas) iguais aos sorteados. Após a contagem, utilizamos uma estrutura condicional (if/elif) para verificar se o jogo (atual) acertou 4 ou 5 ou 6 vezes. Em caso positivo para alguma das três condições, incrementamos a devida variável ("quadras"/"quinas"/"senas").
--> No final, apresentamos as informações ao usuário e fechamos o arquivo.