1
resposta

está dando um loop infinito

Insira aqui a descrição dessa imagem para ajudar na acessibilidade por que está dando loop infinito no meu código?

1 resposta

Olá amigo,

Sobre o código que você postou:

  1. Faltou acertar a identação do while para baixo;
  2. Faltou criar um "fim de jogo" dentro do if(acertou) para caso o jogador acerte o número.

Sendo assim, segue minha proposta:

from random import randint

numero_secreto = randint(0, 9)
total_tentativas = 3
rodada = 1

while (rodada <= total_tentativas):

    print("Tentativa", rodada, "de", total_tentativas)
    chute_str = input("digite um número: ")
    print("Você digitou", chute_str)
    chute = int(chute_str)

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

    if(acertou):
        print("Parabéns! Você acertou")
        #Serve para fazer com que a rodada seja maior que total_tentatvas e o jogo acabar após o acerto.
        rodada += 3
    else:
        if(maior):
          print("Você errou! O seu chute foi maior que o número secreto.")
        elif(menor):
          print("Você errou! O seu chute foi menor que o número secreto.")


    rodada = rodada + 1

print("Fim de jogo")
print("O número secreto era: ", numero_secreto)