![Insira aqui a descrição dessa imagem para ajudar na acessibilidade]
![Insira aqui a descrição dessa imagem para ajudar na acessibilidade]
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:
Ainda 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