Instrução ELSE em Python
Já falamos da instrução ELSE em Testes Condicionais do tipo IF ELSE ELIF.Essa instrução, embora não seja muito famosa, também existe junto com o laço WHILE.
Sua estrutura é a seguinte:
while TESTE:
codigo
codigo
...
else:
codigo
...
A lógica do ELSE junto com o WHILE é bem simples: assim que sai do laço WHILE (sem ser via instrução BREAK), o código dentro da instrução ELSE será executado.
Ou seja, enquanto o TESTE for verdadeiro, ele roda o código dentro do WHILE.
Quando a condição vira falso, e não se usa uma instrução BREAK, o código do ELSE será executado (com uma mensagem de saída, de desligamento de sistema, por exemplo).
Instrução BREAK em Python
Outro comando muito importante e usado em laços Python, é o BREAK, que significa 'quebrar', 'interromper', 'pausar'. E é isso que faz.while TESTE:
codigo
if TESTE2:
break;
...
A função do BREAK é simplesmente parar o looping.
Se fizer um teste, ele der positivo e você usar a break, o laço é automaticamente findado.
Instrução CONTINUE em Python
Na instrução BREAK, quando ela é executada, tudo para, tudo acaba, adeus laço, adeus WHILE, adeus FOR, termina ele.Se ao invés de break usar continue, o laço não é terminado. Porém, ele pula do continue pro início do laço, tudo que tem ali em diante do continue não é mais executado.
Exemplo de Código Python
A instrução pass é muito utilizada quando queremos um código vazio, uma instrução vazia, sem fazer nada de específico.O código a seguir é um looping infinito, roda eternamente, esse código só vai parar de executar se você digitar CONTROL + C
while 1:
pass
Exercício Resolvido de Python
Escreva um programa em Python que vai somar todos os números de 1 até 1 milhão, menos os que são múltiplos de 3.A soma total ficará armazenada em total.
Vamos percorrer todos os números de 1 até 1 milhão, quem vai assumir todos esses valores é a variável count, nosso contador.
Primeiro incrementamos nosso contador. Ele começa em 0 e logo vira 1.
Agora, vamos fazer um teste para saber se o valor de count é múltiplo de 3.
Se for múltiplo de 3, damos uma instrução continue e o loop for segue para o próximo elemento, nada é feito, pulamos para a próxima iteração.
Caso não seja múltiplo de 3, vamos somar esse valor do contador na variável total.
Prontinho, nosso programa percorre de 1 até 1 milhão e soma tudo que não for múltiplo de 3:
total=0
for count in range(1000000):
count += 1
if(count % 3 == 0 ): continue
total += count
print(total)
#Minha solução...
ResponderExcluirtotal=0
for count in range(1000000):
count+=1
if count%3==0:
continue
else:
total+=count
print(total)
O que aconteceria se no código do exercício resolvido, não se usasse o continue depois do "if (count % 3 == 0)"?
ResponderExcluiro else executa só uma vez quando ta ligado ao while?
ResponderExcluirsim
Excluircomo eu faço caso eu queira executar uma função e se um if for verdadeiro eu queira retornar ao início dela, posso usar continue? um exemplo:
ResponderExcluirdef number(numero):
texto1 = result_text.get()
time.sleep(3)
texto2 = result_text.get()
if texto1 == texto2:
pass
else:
continue #caso eu queira reiniciar a função voltando à primeira chamada.