Fluxo de Controle em Python
Este artigo explica o fluxo de controle em Python.
YouTube Video
Instrução If no Python
A instrução if
no Python é uma sintaxe para ramificação condicional. É usada para executar um bloco de código se uma condição específica for avaliada como True
(verdadeiro).
Sintaxe Básica
A instrução if
no Python segue basicamente a estrutura abaixo.
1x = 10
2
3if x > 5: # Check if the condition(x > 5) is True
4 # If the condition is True, execute this code block
5 print("x is greater than 5")
Neste exemplo, "x é maior que 5"
será exibido se a variável x
for maior que 5.
Instrução else
Usar else
após uma instrução if
permite especificar o código a ser executado quando a condição for falsa.
1x = 3
2
3if x > 5:
4 print("x is greater than 5")
5else:
6 print("x is less than or equal to 5")
Neste exemplo, o resultado será "x é menor ou igual a 5"
.
Instrução elif
Se você precisar verificar várias condições, pode usar elif
, que significa "else if".
1x = 5
2
3if x > 5:
4 print("x is greater than 5")
5elif x == 5:
6 print("x is equal to 5")
7else:
8 print("x is less than 5")
Neste exemplo, "x é igual a 5"
será exibido.
Notas
- É necessário um dois-pontos (
:
) apósif
,elif
ouelse
. - O bloco de código executado quando uma condição é verdadeira precisa ser indentado. No Python, a indentação padrão geralmente é de 4 espaços, mas outros números de espaços também são aceitáveis, desde que você seja consistente.
- Você pode usar qualquer expressão que seja avaliada como um valor booleano como condição. Isso significa que você pode usar expressões condicionais combinadas com operadores de comparação ou lógicos.
Dominar a instrução if
do Python permite controlar o fluxo de execução do programa de forma flexível.
Ramificação Condicional Múltipla no Python
Existem várias maneiras de implementar uma funcionalidade semelhante ao switch
em Python, semelhante à de outras linguagens. No Python, é comum usar instruções if-elif-else
ou dicionários para criar estruturas semelhantes a uma instrução switch
.
Método 1: Declaração if-elif-else
A maneira mais simples é usar a declaração if-elif-else
para ramificação condicional.
1def switch_example(value):
2 if value == 1:
3 return "Value is one"
4 elif value == 2:
5 return "Value is two"
6 elif value == 3:
7 return "Value is three"
8 else:
9 return "Unknown value"
10
11print(switch_example(1)) # Output: Value is one
12print(switch_example(4)) # Output: Unknown value
Método 2: Usando Dicionários
Ao associar funções ou valores a um dicionário, é possível criar uma estrutura semelhante a uma declaração switch
. Isso é conveniente quando você deseja realizar diferentes operações para valores específicos.
1def case_one():
2 return "Value is one"
3
4def case_two():
5 return "Value is two"
6
7def case_default():
8 return "Unknown value"
9
10def switch_example(value):
11 switch_dict = {
12 1: case_one,
13 2: case_two
14 }
15
16 # Use get() method to retrieve the corresponding function from the dictionary
17 # If the value is not found in the dictionary, use case_default as a fallback
18 return switch_dict.get(value, case_default)()
19
20print(switch_example(1)) # Output: Value is one
21print(switch_example(3)) # Output: Unknown value
Método 3: Declaração match
(Python 3.10 e posterior)
A declaração match
foi introduzida no Python 3.10. É uma sintaxe de correspondência de padrões que oferece uma funcionalidade semelhante a uma declaração switch
.
1def switch_example(value):
2 match value:
3 case 1:
4 return "Value is one"
5 case 2:
6 return "Value is two"
7 case 3:
8 return "Value is three"
9 case _:
10 return "Unknown value"
11
12print(switch_example(1)) # Output: Value is one
13print(switch_example(4)) # Output: Unknown value
Resumo
- Declaração
if-elif-else
: Simples e adaptável a muitos casos. - Dicionários: Use associações de funções ou valores para permitir ramificações eficientes.
- Declaração
match
: Permite ramificações mais intuitivas no Python 3.10 e posterior. Mais próximo de uma declaraçãoswitch
.
Laços for
no Python
A declaração for
do Python é usada para iterar sobre cada elemento de um objeto iterável, como uma lista, string ou dicionário. A sintaxe básica de uma declaração for
é a seguinte:.
1# Loop through each item in the iterable
2for variable in iterable:
3 # Execute this block of code for each item in the iterable
4 code_to_execute
Aqui estão alguns exemplos específicos:.
Exemplo Usando uma Lista
1fruits = ["apple", "banana", "cherry"]
2for fruit in fruits:
3 print(fruit)
Este código chama a função print
para cada elemento da lista fruits
, exibindo o nome de cada fruta.
Exemplo Usando range()
A função range()
gera números inteiros dentro de um intervalo especificado, sendo útil para iterações numéricas.
1for i in range(5):
2 print(i)
range(5)
gera números inteiros de 0 a 4. Neste caso, 0, 1, 2, 3, 4
será exibido sequencialmente.
Exemplo Usando um Dicionário
No caso de dicionários, as chaves são iteradas por padrão, mas você também pode recuperar pares chave-valor.
1person = {"name": "Alice", "age": 25}
2for key in person:
3 print(key, person[key])
Alternativamente, use o método items()
para recuperar simultaneamente as chaves e os valores.
1person = {"name": "Alice", "age": 25}
2for key, value in person.items():
3 print(key, value)
Laço for
Aninhado
Também é possível aninhar laços for
para realizar processos de iteração complexos.
1matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
2for row in matrix:
3 for num in row:
4 print(num)
Este código itera por cada linha da lista matrix
e exibe sequencialmente os números de cada linha.
continue
para pular uma iteração e break
para terminar um laço
Usar o continue
dentro de um laço for
irá pular a iteração atual e passar para a próxima. Além disso, usar break
encerrará completamente o laço.
1for i in range(10):
2 if i == 5:
3 continue
4 if i == 8:
5 break
6 print(i)
Neste exemplo, o laço é pulado quando i
é 5 e termina quando i
é 8. Assim, a saída será 0, 1, 2, 3, 4, 6, 7
.
O loop for
do Python é altamente flexível e pode ser usado em uma variedade de cenários. Dependendo do tipo de processamento iterativo que você deseja realizar, ele pode ser usado em combinação com listas, dicionários, strings e range()
.
Laço while
no Python
No Python, o laço while
é uma estrutura de controle usada para executar repetidamente o código dentro do bloco enquanto a condição permanecer como True
. A sintaxe básica do laço while
é a seguinte:.
1while condition:
2 # This block of code will be executed repeatedly as long as the condition is true
3 statement1
4 statement2
5 ...
Exemplo:
No exemplo a seguir, um laço while
é usado para exibir os números de 1 a 5.
1i = 1
2while i <= 5:
3 print(i)
4 i += 1
Este código funciona da seguinte maneira.
- Comece com
i
igual a 1, imprimai
enquanto for menor ou igual a 5 e incrementei
em 1 a cada vez.
Nota:
Você precisa ter em mente os seguintes pontos ao usar a declaração while
.
-
Cuidado com loops infinitos
- Se a condição em um loop
while
for sempreTrue
, isso resultará em um loop infinito. Operações apropriadas devem ser realizadas para alterar a condição; caso contrário, o programa não será interrompido.
- Se a condição em um loop
-
Usando
break
econtinue
:break
é usado quando você quer sair do loop antes do final.continue
pula a iteração atual e inicia a próxima. Tenha cuidado, pois condições inadequadas de loop podem resultar em um loop infinito.
Exemplo de break
:
1i = 1
2while i <= 5:
3 if i == 3:
4 break # Exit the loop when i becomes 3
5 print(i)
6 i += 1
- Neste caso, após a saída de
1
e2
, o loop termina quandoi
se torna3
.
Exemplo de continue
:
1i = 0
2while i < 5:
3 i += 1
4 if i == 3:
5 # Skip the print statement and move to the next loop iteration when i is 3
6 continue
7 print(i)
- Neste caso, a saída é pulada apenas para
3
, resultando em1, 2, 4, 5
. - Ao incrementar o valor de
i
no início do loop, o contador avança mesmo secontinue
for executado, evitando um loop infinito.
Você pode acompanhar o artigo acima usando o Visual Studio Code em nosso canal do YouTube. Por favor, confira também o canal do YouTube.