1
resposta

Forma de utilização do While

Pessoal, eu dei uma pesquisada mas não consegui descobrir como funciona essa forma de utilização do While, nesse video: https://youtu.be/jn1HSXVmIrA

Ele utiliza uma condição While True: , no caso o valor vai ser sempre verdadeiro, como pode o programa rodar dessa forma e não travar? Não faz sentido pra mim, a minha origem é no VBA.

1 resposta

Sempre que você usar while True: vai precisar colocar em alguma parte do corpo do while um critério de parada para o loop. Geralmente usamos um if dentro do corpo do while para testar se a condição de parada do loop do while já foi atendida. E dentro do corpo do if, usamos *break ou *return para sair do loop do while. O break faz você sair imediatamente do corpo do while e continua executando o código abaixo do while. O return faz com que você saia imediatamente do corpo de uma função (caso o while True: esteja sendo executado dentro de uma função.

Exemplo1:

contador = 1
while True:
    contador+=1  # O contador está aumentando uma unidade a cada loop.
    if contador == 10:
        break

Exemplo2:

def jogando_dados():
    """Função que joga um dado de 6 lados (de forma aleatória) várias vezes e dá um print a cada resultado. Mas quando sai o número 1, a função 
    para imediatamente e não imprime esse resultado 1."""
    from random import randint     # Importando o módulo que gera os números aleatórios do dado.
    while True:
        numero_do_dado = randint(1, 6)   # Sorteamos um número.
        if numero_do_dado != 1:    # Se for diferente de 1, damos o print do número.
            print("O número do dado é -> ", numero_do_dado)
        else: # Quando o número é igual a 1, vamos sair da função.
            return

jogando_dados() # Chamada da função, para ver os resultados do dado.