Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Galera, como faço para conseguir indicar os pontos a cada rodada? Sem reatribuir o valor para variável pontos como no código abaixo

import random 

print("O jogo possui três níveis.")
print("(1) Fácil, (2)Médio, (3)Díficil")
nivel = int(input("Defina o nível: "))

if (nivel == 1):
    numero_tentativas = 20
elif nivel == 2:
    numero_tentativas = 10
else:
    numero_tentativas = 5

pontos_iniciais = 1000
numero_secreto = random.randrange(1,100)
rodada = 1

for rodada in range(1, numero_tentativas + 1):
    print("Tentativa {} de {}".format(rodada, numero_tentativas))
    #string interpolation, o uso de {} indica onde o valor da variável deve ser substituído

    chute_str = input("Digite um número entre 1 e 100: ")  # me devolve a entrada do usuário
    chute = int(chute_str)

    pontos = pontos_iniciais - chute
    print("Você tem {} pontos".format(pontos))

    if (chute < 1 or chute > 100):
        print("Esse não é um número válido. Tente de novo.")
        rodada = rodada - 1
        continue

    print("Você digitou: ", chute)

    acertou = chute == numero_secreto
    maior = chute > numero_secreto
    menor = chute < numero_secreto

    if (acertou):
        print("Você acertou")
        break
    else:
        if(maior):
            print("Você errou, o chute foi maior que o número secreto.")
        elif(menor):
            print("Você errou, o chute foi menor que o número secreto.")


print("fim do jogo")
3 respostas

No código, a cada rodada o número de pontos volta a ser 1000 e não dá pra conseguir ter a atualização de pontos ao longo do jogo.

solução!

Olá, Marcia. Tudo bem?

Uma forma de solucionar o seu problema é utilizar a própria variável 'pontos_iniciais' para fazer a atualização de pontos ao longo do jogo.

No seu código onde está escrito:

    pontos = pontos_iniciais - chute
    print("Você tem {} pontos".format(pontos))

Você substitui por:

    pontos_iniciais = pontos_iniciais - chute
    print("Você tem {} pontos".format(pontos_iniciais))

Desse modo, você obterá o comportamento desejado.

Espero que tenha resolvido sua dúvida. Qualquer outra questão estou a disposição.

Abraços. Bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Obrigada, Gabrielle!!!