Continuando na minha aventura em python.
O programa que estou criando tem uma sistema de pontos, ao final do programa é indicado o nome do vencedor ou se houve empate no jogo.
Parar o programa descobrir o vencedor ou se houve empate criei um código extenso, mas eu acredito que essa etapa poderia ser resolvida de uma maneira bem mais curta, por isso estou postando o código aqui, para ver se alguém consegue resolver o mesmo problema de maneira mais fácil e com menos código.
É sempre interessante ver como diferentes pessoas criam diferentes soluções para o mesmo código e assim aprendo também maneiras mais fáceis de resolver as lógicas de programação.
O código abaixo é só uma parte do meu programa, a parte que conta a pontuação. Já esta pronto, é só jogar no python e executar. Mudando a variável contagem_pontos e testando.
lista_nomes = ["nome1", "nome2", "nome3", "nome4"]
#contagem_pontos = [0, 1, 1, 0]
contagem_pontos = [0, 1, 0, 0]
maior_numero = 0
posicao_maior_numero = 0
vencedor = 0
empate = 0
lista_empate = []
for i in range(4):
if maior_numero <= contagem_pontos[i]:
maior_numero = contagem_pontos[i]
posicao_maior_numero = i
for i in range(4):
if contagem_pontos[i] != contagem_pontos[posicao_maior_numero] and empate < 2:
vencedor += 1
lista_empate.append(0)
else:
if maior_numero == contagem_pontos[i]:
empate += 1
lista_empate.append(maior_numero)
if vencedor > empate:
print("
O vencedor é o jogador: ",lista_nomes[posicao_maior_numero])
else:
print("
O jogo empatou!!! Estes jogadores fizeram a mesma quantidade de pontos")
for i in range(len(lista_empate)):
if contagem_pontos[i] == lista_empate[i] and contagem_pontos[i] == maior_numero:
print(lista_nomes[i])?