Estruturas de controle e repetição

bifurcação

Hoje veremos estruturas de controle e repetição

O que é uma estrutura de controle

As estruturas de controle alteram o fluxo de execução do programa com base em condições ou repetições. Elas permitem que o código tome decisões, repita ações ou defina condições que determinam o comportamento do programa. Além disso, essas estruturas são essenciais para tornar o código mais dinâmico e adaptável a diferentes cenários. Existem três tipos principais de estruturas de controle: condicionais, de repetição e de controle de fluxo. Cada uma delas desempenha um papel específico, dependendo do tipo de situação que o programador deseja controlar. Portanto, ao entender essas estruturas, podemos criar programas mais flexíveis e eficientes.

Estruturas Condicionais

As estruturas condicionais são usadas para tomar decisões com base em condições verdadeiras ou falsas.

If, Elif e Else

If, Else

Atenção para a estrutura definida no alinhamento

O alinhamento no Python, também conhecido como indentação, desempenha um papel fundamental na sintaxe da linguagem, pois organiza e estrutura o código de forma clara. Em Python, a indentação é obrigatória e substitui as chaves ({}), utilizadas em outras linguagens como C, C++ ou Java, para definir blocos de código. Assim, ao invés de usar chaves, a indentação indica visualmente quais linhas de código pertencem a determinado bloco. Consequentemente, isso torna o código mais legível e intuitivo, além de evitar confusão na definição de blocos de controle.

Estruturas de repetição

While

Quando não sabemos quantas vezes repetiremos um procedimento, utilizamos o while. Nesse caso, o loop while continuará executando até que uma condição específica se torne verdadeira ou até encontrar a palavra reservada break. Assim, o while oferece maior flexibilidade no controle de repetições, pois a condição de parada pode ser definida durante a execução. Além disso, o uso do break é útil quando precisamos interromper o loop antes que a condição de parada natural seja atingida. Portanto, o while permite um controle dinâmico e eficiente sobre o fluxo de execução.

For

Quando usamos o for, sabemos exatamente o número de vezes que o loop será repetido. Entretanto, se o loop encontrar o break, ele pode sair antes de completar todas as repetições. Por exemplo, nos exemplos abaixo, percorremos todas as letras da string e as imprimimos. Dessa forma, conseguimos controlar a iteração de maneira mais previsível, mas ainda com a flexibilidade de interromper a execução sempre que necessário. Portanto, o for nos oferece tanto previsibilidade quanto controle dinâmico sobre o fluxo de execução.

For , Else

Agora de forma resumida em uma linha.

Percorrendo uma lista e fazendo uma pergunta

Comando Continue

Comando Pass

Usamos o comando pass quando sabemos que vamos desenvolver uma função, mas ainda não implementamos seu conteúdo. Nesse caso, declaramos a função e, para evitar erros, colocamos pass no corpo dela. Assim, garantimos que o código seja executado sem problemas, mesmo com a função incompleta. Dessa forma, conseguimos continuar o desenvolvimento sem interrupções, permitindo que voltemos à função mais tarde para adicionar sua lógica. Portanto, o pass é uma solução prática enquanto o código ainda está em desenvolvimento.

Referências:

Operadores em Python

grupo

Operadores de Atribuições e Relacionais

Operadores de Atribuição

Os operadores de atribuição são usados para atribuir valores a variáveis, permitindo que o programador manipule os dados de maneira eficiente. O operador básico, e o mais simples, é o símbolo de igualdade =, que realiza a atribuição direta de um valor a uma variável. No entanto, além desse operador básico, Python também possui operadores de atribuição compostos, que combinam a atribuição com operações matemáticas ou lógicas, proporcionando uma maneira mais compacta e eficiente de realizar cálculos ou modificações em variáveis de forma direta.

Esses operadores compostos economizam linhas de código e ajudam a melhorar a legibilidade ao realizar operações como adição, subtração, multiplicação e divisão diretamente dentro da atribuição.

Operador Descrição Exemplo
= atribuição
+= adição
-= subtração
x*=2 multiplicação
/= divisão
//= divisão inteira
**= exponenciação
%= resto da divisão

 

Operadores Relacionais

Os operadores relacionais são usados para comparar dois valores, ajudando a estabelecer relações entre eles. Eles retornam um valor booleano, ou seja, True ou False, dependendo do resultado da comparação realizada. Dessa forma, esses operadores desempenham um papel crucial na avaliação de condições dentro de um programa. Além disso, eles são essenciais para controlar fluxos de execução em estruturas condicionais, como if, e em loops, como while e for, permitindo que o código tome decisões baseadas nas relações entre os valores envolvidos.

Operador Descrição Exemplo
== igual a
!= diferente de
> maior que
>= maior ou igual a
< menor que
<= menor ou igual

grupo

Operadores In e Not

Os operadores in e not in são utilizados para verificar a pertinência ou ausência de um elemento dentro de uma sequência (como uma lista, tupla, string, etc.). Eles retornam um valor booleano (True ou False) com base na avaliação de inclusão ou exclusão de um item dentro da sequência.

In retorna True caso contenha o valor

Not In retorna True caso não contenha o valor

ligado

Operadores Is e Is Not

Os operadores is e is not são usados para comparar identidade de objetos, ou seja, se duas variáveis referenciam o mesmo objeto na memória. Diferentemente dos operadores relacionais, que comparam os valores de dois objetos, o is e is not comparam as localizações de memória dos objetos. Essa comparação é fundamental quando queremos saber se duas variáveis estão apontando para a mesma posição de memória, e não apenas se os valores armazenados nelas são iguais.

Is

Is Not

filósofo

Operadores And, Or, Not e Xor

Os operadores lógicos no Python são usados para combinar expressões booleanas e tomar decisões lógicas com base em condições. Eles trabalham com valores verdadeiros (True) ou falsos (False) e são fundamentais para o controle de fluxo e para criar condições complexas.

Em outras palavras, ao usar operadores lógicos, o programador pode definir condições mais elaboradas, criando fluxos de execução mais flexíveis e adaptáveis. Eles são, portanto, cruciais para garantir que o código execute de maneira correta, dependendo das situações que surgem durante a execução do programa.

Observação: Xor  também é conhecido como “ou exclusivo“.

Operador Lógico AND

A B A and B
True True
True False
False True
False False

Perceba que em AND o resultado é True apenas em “True and True

Operador Lógico OR

A B A or B
True True
True False
False True
False False

Perceba que em OR o resultado é False apenas em “False or False

Operador Lógico XOR

A B A xor B
True True
True False
False True
False False

Perceba que em XOR o resultado é True apenas quando são valores opostos uma ao outro : “True xor False” e “False xor True

Operador NOT

O operador not em Python é um operador lógico utilizado para inverter o valor de uma expressão booleana. Ele funciona de forma simples: se a expressão for verdadeira, o operador not a transforma em falsa; se for falsa, o operador a transforma em verdadeira. Dessa forma, ele realiza a negação do valor lógico de uma expressão, proporcionando uma maneira simples e eficiente de inverter o estado de uma condição.

Portanto, o operador not é uma ferramenta poderosa para quem deseja trabalhar com expressões booleanas de maneira flexível e direta.

A NOT A
True
False

Perceba que em NOT inverte o resultado

Referências:

Interno: