Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Por quê as comparações ficam dentro do while?

numero_sorteado = 10
chance_atual = 1
numero_total_chances = 2
chute = 1

acertou = chute == numero_sorteado
maior = chute > numero_sorteado
menor = chute < numero_sorteado

while(chance_atual <= numero_total_chances):
    print("tentativa",chance_atual,"de",numero_total_chances)
    chute = int(input("Arrisque um número: "))


    if(acertou):
        print("Acertou!!!")
    else:
        if(maior):
            print("Foi muito, é menor!")
        elif(menor):
            print("Faltou, é maior!")
    chance_atual = chance_atual + 1

print("FIM")

Eu consegui montar o programa assim como no vídeo, mas queria saber por quê essa estrutura não funciona. As comparações de maior, menor e igual devem estar dentro do while para funcionar, mas qual o motivo de não funcionar fora, assim como neste programa? Eu entendo que essa estrutura não precisa se repetir.

1 resposta
solução!

Chute é inicializado com 1 , e onde estão as atribuições de acertou , maior e menor consideram esse valor de chute nas comparações e isso não muda mais.

Se você mudar essas atribuições após cada chute, os valores passam a ser calculados para cada chute que for dado, e o programa passará a funcionar corretamente.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software