Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Jogo adivinha com problemas

Meu problema com o adivinha é que a linha de código que fiz para mostrar qual número foi sorteado na rodada,só é executado na última rodada,e não em todas(como queria),a baixo deixo meu código,espero ter deixado a dú vida clara

print(40 * "*")
print("Jogo de adivinhação")
print(40 * "*")


import random
numero_secreto = random.randint(1, 10)
total_de_tentativas = 5


for rodada in range(1, total_de_tentativas + 1):
    print("Tentativa {} de {}".format(rodada, total_de_tentativas))

    chute_str = input("Qual será seu chute?")
    print("Você digitou:", chute_str)
    chute = int(chute_str)

    acertou = numero_secreto == chute
    numero_invalido = chute < 1 or chute > 10


    if (numero_invalido):
        print("!!Erro,digite um número de 1 a 10!!")
        continue
if acertou:
    print("Você acertou!Parabéns")
else:
    print("Você errou!!O número secreto era:" , numero_secreto)


1 resposta
solução!

Bom Dia,

Pelo que eu entendi o trecho do seu código que faz o teste de acertou ou errou está fora da identação do for, ou seja, só vai ser executado quando todas as iterações do for forem finalizadas. Se pegar o trecho abaixo e der um tab na identação já vai começar a resolver, ai teria que adicionar um break caso ele acerte. obs: como já tem o primeiro if, tratei o segundo como elif.

(adicionar um tab no trecho todo para ficar dentro do for)

elif acertou:
  print("Você acertou!Parabéns")
  break
else:
 print("Você errou!!O número secreto era:" , numero_secreto)