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

o meu jogo quando vai rodar ele fica digitando o numero 3 infinitamente e aparece erro na linha 8 nao sei o que esta errado

Insira aqui a descrição dessa imagem para ajudar na acessibilidade Insira aqui a descrição dessa imagem para ajudar na acessibilidade ![Insira aqui a descrição dessa imagem para ajudar na acessibilidade]

3 respostas
solução!

Olá, Pablo!

O erro é a indentação do seu código.

Se você não sabe o que é indentação, dê uma olhada nesse artigo: https://phpmz.home.blog/2019/06/17/o-que-e-indentacao-de-codigo-qual-e-sua-importancia/

Pyhton não utiliza as chaves {} para delimitar escopo, como outras linguagens. Em vez disso, utiliza apenas a indentação.

Da maneira que você implementou, o compilador entende que apenas o código

print(total_de_tentativas, "tentativa: ")

pertence ao laço while, e como o a execução fica presa nessa linha, o valor da variável total_de_tentativas nunca é alterado, gerando um loop infinito.

Para corrigir, basta indentar o restante do código que pertence ao while. Você pode apertar a tecla TAB ou usar 4 espaços em branco no começo de cada linha para indentar.

O código ficaria assim:

total_de_tentativas = 3

while (total_de_tentativas > 0):
    chute_str = input("Digite o seu número: ")
    print("Você digitou: ", chute_str)
    chute = int(chute_str)

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

    if (acertou):
        print("Você acertou!")
    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.")

    total_de_tentativas = total_de_tentativas - 1

print("Fim do jogo")

Espero ter ajudado!

Boa sorte em seus estudos!

Olha, pelo q percebi, o total de tentativas aí são 3 e o while tá falando "enquanto o total de tentativas for maior que zero, printa isso aí ó". Como o total é 3, então vai sempre ficar printando isso q vc colocou logo embaixo do while. Acho que é melhor trocar esse laço por outro, tipo um for, mas aí tem q colocar outras variáveis pra complementar... algo do tipo:

Insira aqui a descrição dessa imagem para ajudar na acessibilidadeAinda não tá completo e cheio de falhas, testei aqui e não caiu no loop como ele estava antes

Eita, eu fui por um caminho mais complicado, a dica do Matheus foi melhor hahaahahah