2
respostas

[Dúvida] Não sai na tela se o chute foi maior ou menor

print("Bem vindo ao jogo de adivinhação")

numero_secreto = 13
total_de_tentativas = 3
rodada = 1

while(rodada <= total_de_tentativas):
    print("Tentativa", rodada, "de", total_de_tentativas)
    chute_str = input("Digite o seu numero:")
    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.")

rodada = rodada + 1

print("Fim do jogo")
2 respostas

Olá Juliana, tudo bem com você?

Para que a mensagem informando se o chute foi maior ou menor seja exibida, será necessário realizar uma correção de indentação (espaços) das linhas de código. Parte do código que é responsável por verificar se o usuário acertou ou não o chute está fora do laço while.

Para realizar a correção de indentação, siga os passos abaixo:

  • Selecione da linha com o código: acertou = numero_secreto == chute até a linha que contém o código: rodada = rodada + 1.
  • Após selecioná-las, pressione Tab uma vez, será adicionado os espaços necessários para que essas linhas de código fiquem dentro do laço while.

Deixo abaixo o código corrigido para a comparação.

print("Bem vindo ao jogo de adivinhação")

numero_secreto = 13
total_de_tentativas = 3
rodada = 1

while(rodada <= total_de_tentativas):
    print("Tentativa", rodada, "de", total_de_tentativas)
    chute_str = input("Digite o seu numero:")
    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.")

    rodada = rodada + 1

print("Fim do jogo")

Após realizar as mudanças, salve o arquivo e execute o código novamente.

Lembre-se que pode contar sempre com o fórum Alura, seja para tirar suas dúvidas, ou para compartilhar o seu desenvolvimento.

Fico à disposição.

Abraços e bons estudos.

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

entendi, consertei e funcionou, não sabia que as indentação (espaços) afetavam o código, obrigada :)