4
respostas

[Dúvida] WHILE COM VARIÁVEL

Olá, sou novo com programação ainda e, tentando adicionar um pouco de dificuldade ao jogo de adivinhação, tentei colocar um contador de tentativas e um range para o número (de 0 a 100). Ao rodar o código abaixo, ele funciona perfeitamente! Imagem_codigo_funcionando

No entanto, ao tentar criar as variáveis maior, menor e acertou (conforme código abaixo), o código começa a se comportar de maneira meio aleatória. Passa a não apresentar os prints depois dos IFs (por exemplo o print da condição if (fora) "NÚMERO FORA DO INTERVALO. VOCÊ DESPERDIÇOU UM CHUTE." não é apresentado, o programa pula direto pro input de novo palpite ), ou então fica caindo na mesma condição sempre (por exemplo, quando testo um número menor que 42 ele mostra o print do if (menor) e aí quando vou testar um número maior que 42, ele mostra o print do if (menor) novamente em looping), ou ainda nem sequer consegue reconhecer que uma tentativa nova é igual ao número secreto.

Imagem_codigo_erro

Estou declarando algo errado ou só complicando demais mesmo? Seria melhor jogar tudo num while not acertou e definir as condições dentro desse looping? Eu até criei uma váriavel dentro para tentar facilitar a declaração das outras variáveis, mas o comportamente do código persiste tanto declarando maior e menor sem a existência dessa variável dentro, quanto com a variável dentro.

4 respostas

verifique se o trecho da condicional do laço while está originando um Boolean. Seria bom criar uma outra variável para conter ele no whilee assim você testar. Depois só usa a variável

para um código mais limpo e fácil ate para voce compreender, as condicionais estão muito longas. E se nao me engano ele aceita algo assim 0 < variável < 100

Obrigado, Ronaldo! Seguindo suas dicas, consegui fazer rodar aqui com o código abaixo. Deu bom colocando a declaração dentro do laço.. VAleuu

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

Excelente! Fico muito feliz em poder contribuir um pouco.

Veja que na ultima linha do laço costumam usar desse jeito com mais frequência. De modo que se execute tudo da ultima repetição e a variável que o while avalia é modificada para sair do laço.

Nesse caso, em tempo de execução do código que ele está pegando o input do usuário se ele inserir o número do palpite o laço se encerra logo a seguir.

Parabéns!