AVANÇADO#
Etapa 1#
Nesta etapa, vamos implementar uma função para registrar a pontuação do jogador na rodada. Para registrar a pontuação dos jogadores vamos utilizar um dicionário similar ao exemplo abaixo:
cartela_de_pontos = {
'Teresa': {
'pontos': {
'regra_simples': {
1:0,
2:0,
3:0,
4:0,
5:0,
6:0
},
'regra_avancada' : {
'sem_combinacao':0,
'quadra': 0,
'full_house': 0,
'sequencia_baixa': 0,
'sequencia_alta': 0,
'cinco_iguais': 0
}
}
}
}
Note que o dicionário acima é apenas um exemplo e esse dicionário pode conter informações de mais jogadores.
Faça a função faz_jogada, que recebe como argumentos o nome do jogador, a lista com os dados rolados, a combinação escolhida pelo jogador e a cartela de pontos e retorna a cartela de pontos com os valores atualizados.
Exemplo:
Saída:
{
'Teresa': {
'pontos': {
'regra_simples': {
1: 0,
2: 0,
3: 0,
4: 0,
5: 0,
6: 0
},
'regra_avancada': {
'cinco_iguais': 0,
'full_house': 0,
'quadra': 25,
'sem_combinacao': 0,
'sequencia_alta': 0,
'sequencia_baixa': 0
}
}
}
}
Importante
Não é necessário fazer a validação se a jogada escolhida pelo jogador é válida. Assuma que o jogador sempre escolherá jogadas válidas.
Item 2#
Por fim, vamos implementar uma função para encontrar o vencedor da partida. Para isso, faça a função vencedor que recebe o dicionário com a cartela de pontos e retorna o nome do jogador que possui a maior pontuação.
A função deve somar todos os pontos obtidos em cada categoria. Além disso, a função deve considerar uma regra adicional. Se o jogador alcançar a pontuação de 63 ou mais nas categorias de 1 a 6, o jogador ganha um bônus de 35 pontos.
Se houver pelo menos 2 jogadores com a mesma pontuação, a função deve retornar 'empate'.

Exemplo:
cartela_de_pontos = {
"Teresa": {
"pontos": {
"regra_simples": {
1:4,
2:6,
3:12,
4:12,
5:25,
6:24
},
"regra_avancada" : {
"sem_combinacao":10,
"quadra": 9,
"full_house": 11,
"sequencia_baixa": 15,
"sequencia_alta": 0,
"cinco_iguais": 0
}
}
},
"Jorge": {
"pontos": {
"regra_simples": {
1:3,
2:6,
3:12,
4:8,
5:0,
6:18
},
"regra_avancada" : {
"sem_combinacao":23,
"quadra": 22,
"full_house": 21,
"sequencia_baixa": 15,
"sequencia_alta": 30,
"cinco_iguais": 0
}
}
}
}
print(vencedor(cartela_de_pontos))
Saída:
Observação: Assuma que a cartela de pontos estará com todas as pontuações preenchidas.