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

Meu codigo esta repetindo sem parar mesmo eu usando while

print("*********************")
print("*jogo de adivinhação*")
print("*********************")

numero_pensado=47
rodada=1
limite_tentativa=3

while(rodada<=limite_tentativa):
    chute_str=input("Escolha um numero")
    chute= int(chute_str)

    acertou=numero_pensado==chute
    menor =numero_pensado>chute
    maior =numero_pensado<chute


    print("O numero escolhido foi ",chute)

    if(acertou):(print("acertou"))
else:

    if (menor):(print("O numero digitado é menor que o numero secreto "))

    elif (maior):(print("O numero digitado é maior que o numero secreto "))

rodada=rodada+1

2 respostas
solução!

Olá Ryan,

Confere se a identação do código está correta, do jeito que você mandou acima está com todo o else e o rodada = rodada + 1 fora do while.

while (comparacao):
    # Dentro do while
# Fora do while

Então como o rodada + 1 está fora do while, a comparação rodada<=limite_tentativa sempre vai dar True fazendo com que o while nunca pare de executar.

Deixando o código como abaixo funcionou corretamente aqui:

print("*********************")
print("*jogo de adivinhação*")
print("*********************")

numero_pensado=47
rodada=1
limite_tentativa=3

while(rodada<=limite_tentativa):
    chute_str=input("Escolha um numero")
    chute= int(chute_str)

    acertou=numero_pensado==chute
    menor =numero_pensado>chute
    maior =numero_pensado<chute


    print("O numero escolhido foi ",chute)

    if(acertou):
        (print("acertou"))
    else:

        if (menor):(print("O numero digitado é menor que o numero secreto "))

        elif (maior):(print("O numero digitado é maior que o numero secreto "))

    rodada=rodada+1

Espero ter ajudado, qualquer dúvida é só falar!

Agora, consegui resolver o problema obrigado pela ajuda :)