3.13 Comando While

Queremos dar mais de uma oportunidade para o usuário tentar acertar o número secreto, já que é um jogo de adivinhação. A primeira ideia é repetir o código, desde a função input() até o bloco do elif . Ou seja, para cada nova tentativa que quisermos dar ao usuário, copiaríamos esse código novamente.

Só que copiar código sempre é uma má prática, queremos escrever o código apenas uma vez. Se queremos repetir o código, fazemos um laço, ou um loop, que deve repetir a instrução dentro de bloco enquanto ela for verdadeira. O laço que devemos fazer é:

Enquanto ainda há tentativas, faça:

chute_str = input(‘Digite o seu número: ’) 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!') elif (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') print('Fim do Jogo!')

Como dito anteriormente, o Python não entende português e assim como o if ele tem um comando que substituirá a palavra enquanto do nosso exemplo. O while é esse comando que, assim como o if , recebe uma condição. A diferença é que o if , caso a condição seja verdadeira, executa apenas uma vez o código de seu bloco, já o while executa enquanto a condição for verdadeira, por exemplo:

x = 5

enquanto x for maior do que 1, faça: imprime(x)

x = x -

Que em Python, é equivalente a:

x =

while(x > 1):

… print(x)

… x = x - 1

Mas tome cuidado, o que acontece se esquecermos essa linha do código x = x - 1 ?

x =

while(x > 1):

… print(x)

O programa vai imprimir o número 5 infinitamente, já que a condição passada é sempre verdadeira e não muda dentro do bloco.


⬅️ Capítulo Anterior | Próximo Capítulo ➡️