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

Dúvida sobre lidar com booleanos

Fico com dificuldade em entender como os valores booleanos são interpretados pela linguagem

No código do capítulo que estou, inicio duas variáveis com valor “False”, o loop while pega esses dois valores e os transforma em True em sua iniciação já que há uma negação, até ai entendi legal.

Então porque pra parar o loop o valor do booleano precisa continuar sendo True? Na iniciação do loop while ele já não transforma em True? Em que ponto estou entendendo de maneira errada? ( Na minha lógica as variáveis deveriam ser declaradas após como False para o loop terminar...)

enforcou = False
acertou = False

while(not enforcou and not acertou):
    print('Jogo continua....')
1 resposta
solução!

O seu While não altera o valor das suas variáveis, então elas continuam com valor "false", o que o While faz é verificar se o valor da variável é true (verdadeiro) ou false (falso). Como você está usando uma negação no inicio da verificação, então ele sempre vai ler esperando o false para continuar no loop, e quando o valor da variável for true o loop é encerrado.

Caso você tire a negação, o jogo continua se o valor da variável for true e para se for false.

Fica mais fácil de entender colocando seu código no portunhol:

enforcou = falso 
acertou = falso

enquanto(não enforcou e não acertou):
    escreva ('Jogo continua....')