CodeGym /Cursos /Python SELF PT /Um pouco mais sobre loops e if’s

Um pouco mais sobre loops e if’s

Python SELF PT
Nível 4 , Lição 5
Disponível

11.1 Operador Ternário

Em Python, existe o que chamamos de operador ternário, que basicamente é uma forma modificada do operador if else.

Suponha que você tenha este código:


if a < b:
   min = a
else:
   min = b

Para que esse código simples não ocupe muito espaço, criaram uma notação compacta. Ela se parece assim:


min = a if a < b else b

A forma geral do operador ternário pode ser descrita assim:


variável = valor1 if condição else valor2

Se a condição for verdadeira, a variável recebe o valor1, se for falsa — o valor2.

Note que não usamos dois pontos após a condição aqui.

11.2 Operador else em loops

Em Python, o operador else é muitas vezes associado aos operadores condicionais if. No entanto, seu uso não se limita a isso, e else também pode ser utilizado em loops for e while.

Esse aspecto não tão óbvio do else no contexto de loops pode confundir iniciantes, mas ele abre possibilidades interessantes para gerenciar o fluxo de execução do programa.

Como funciona o else em loops

Em loops, o else é executado após o término do loop, mas apenas se o loop terminar normalmente (isto é, não for interrompido pelo operador break). Essa característica torna o else útil para cenários onde precisamos verificar se o loop foi interrompido antecipadamente.

Exemplo de uso no loop for:


for i in range(3):
    password = input('Digite a senha: ')
    if password == 'segredo':
        print('Senha aceita.')
        break
else:
    print('Sem tentativas restantes ou todas as senhas foram incorretas.')               

Aqui, o else é acionado se o usuário digitar uma senha errada três vezes. Se o usuário digitar a senha correta, o loop é interrompido com break, e o bloco else não é executado.

Exemplo de uso no loop while:


n = 5
while n > 0:
    print(n)
    n -= 1
else:
    print('Loop terminou normalmente.')               

Neste caso, o else é executado após o loop terminar naturalmente, pois a condição se tornou falsa.

Relevância prática

O uso do else em loops pode ser especialmente útil em algoritmos de busca, onde é necessário determinar se a busca foi bem-sucedida. Por exemplo, ao procurar um elemento numa lista que não existe, podemos usar o else para exibir uma mensagem de falha após o término do loop.

Utilize else em loops de forma clara e consistente, para não confundir aqueles que irão ler seu código. Lembre-se de que o else em loops nem sempre é intuitivo, então vale a pena adicionar comentários ou escolher outras formas de implementar a lógica, caso isso torne o código mais compreensível.

11.3 Loops Aninhados

Em Python, podemos escrever uma lógica muito complexa de forma bastante compacta. Para alguns casos, você precisará de ifs aninhados, e para outros, de loops aninhados. Vamos discutir alguns detalhes sobre o funcionamento deles agora:

Um loop aninhado significa ter um loop dentro de outro. Isso permite, por exemplo, manipular arrays multidimensionais, listas de listas ou outras estruturas de dados aninhadas.

Loops aninhados consistem em um loop externo e um ou mais loops internos. Cada vez que o loop externo faz uma iteração, o loop interno é executado por completo:


for i in range(3):  # Loop externo
    for j in range(3):  # Loop interno
        print(f"({i}, {j})")               

Do ponto de vista do loop externo, o loop interno e seu conteúdo são apenas um bloco de comandos que são executados para cada iteração do loop externo. O loop externo não se importa com o que está dentro dele, quantos loops há, etc. Ele simplesmente executa seu bloco de comandos interno a cada vez para a variável de sua lista.

Vamos exibir uma tabela de multiplicação — loops aninhados são perfeitos para essa tarefa. Criando uma tabela de multiplicação usando loops aninhados, onde um loop cuida do multiplicador e o outro do multiplicando:


n = 5
for i in range(1, n + 1):
    for j in range(1, n + 1):
        print(f"{i} * {j} = {i * j}", end='\t')
    print()  # Nova linha para o próximo multiplicador               

Esse exemplo exibirá a tabela:


1 * 1 = 1	1 * 2 = 2	1 * 3 = 3	1 * 4 = 4	1 * 5 = 5	
2 * 1 = 2	2 * 2 = 4	2 * 3 = 6	2 * 4 = 8	2 * 5 = 10	
3 * 1 = 3	3 * 2 = 6	3 * 3 = 9	3 * 4 = 12	3 * 5 = 15	
4 * 1 = 4	4 * 2 = 8	4 * 3 = 12	4 * 4 = 16	4 * 5 = 20	
5 * 1 = 5	5 * 2 = 10	5 * 3 = 15	5 * 4 = 20	5 * 5 = 25

Para entender melhor os loops aninhados, você precisa apenas praticar mais — essa é a maneira mais rápida de dominar praticamente qualquer coisa não óbvia na programação.

1
Pesquisa/teste
Laços e Condições, nível 4, lição 5
Indisponível
Laços e Condições
Laços e Condições
Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION