Declarações de controle
O que são algoritmos
Segundo Tremblay, algoritmo é uma "sequência ordenada, e não ambígua, de passos que levam à solução de um dado problema." Um algoritmo pode ser representado, dentre outras maneiras, por:
- Descrição de narrativa;
- Utilização do português para descrever o passo a passo para realizar alguma tarefa ou resolver algum problema
- Exemplo: receita de bolo
- Fluxograma;
- Utilização de símbolos gráficos para descrever o passo a passo para realizar alguma tarefa ou resolver algum problema
- Linguagem algorítmica
- Pseudo linguagem de programação utilizada para representar o algorítmo
Declaração de controle
Os scripts ou programas que construímos podem obedecer certas condições prévias para executar determinada ação. Para que isso ocorra, utilizamos as chamadas declarações de controle ou controle de fluxo, que irão verificar determinada condição pré-estabelecida antes de executar determinada ação. Iremos ver duas declarações de controle: as condicionais; e os laços de repetição
Condicionais
A linguagem de programação Python utiliza as palavras-chave if, elif e else para indicar execução condicional de determinado código. Basicamente, a partir dessas palavras-chave, ao executar determinado script ou programa, é verificado se determinada condição é verdadeira. Em caso afirmativo, determinado bloco de código será executado. Em caso negativo, outro bloco de código será executado.
if e veracidade
- O número
0sempre seráFalse. Qualquer outro número, incluindo os negativos, sãoTrue. list,set,tuple,dictvazios sãoFalse. Qualquer um desses tipos de dados quando tiver elementos sãoTrue
- Loops e instruções de controle nos permitem controlar o fluxo lógico de nosso programa.
- laços de repetição e controle
Noção geral sobre iteração
- Iteração: é o processo de percorrer itens em uma coleção
Comando for
- range(),zip(), enumerate(), os.walk(), exclusão de linha
- for no dict metodos
- https://youtu.be/OSGv2VnC0go e video do Hash
colors = ["Red", "Green", "Blue", "Orange"]
for color in colors:
print(f"The color is: {color}")
The color is: Red
The color is: Green
The color is: Blue
The color is: Orange
range(start, stop, step)ehelp(range)Se quiser ver explicitamente o que uma chamada para range()produz para fins de depuração, você pode passar o resultado para o list()método para ver todos os valores de uma vez. Por exemplo: list(range(5)). Lembre-se de que isso é ineficiente, portanto, use-o para teste, não no código de produção.
for num in range(5):
print(f"The number is: {num}")
enumerate (iteravel, start=0)- Como enumerate()retorna uma estrutura que se parece com uma lista de tuples por baixo do capô, podemos aproveitar a descompactação da tupla no forloop.
cores = ['azul', 'amarelo', 'vermelho','preto', 'branco', 'verde']
for index, item in enumerate(cores, start=1):
print(f'Item: {item} é o indice: {index}')
- Laços em dicionários
lusofonia = {"América do Sul": "Brasil", "Europa": "Portugual", "Ãfrica":"Angola", "Ãsia":"Macau" }
for regiao in lusofonia:
print(f"A região pe: {regiao}")
for luso, pais in lusofonia.items():
print(f"A região é: {regiao} e o pais é: {pais}")
for pais in lusofonia.values():
print(f"O pais é: {pais}")
Comandos if, elif, else
ifsignifica: execute o resto deste código apenas uma vez, se a condição for avaliada comoTruePara executar o condigo apenas se a expressão for
False, use a palavra chavenotife veracidadeife funçõesifdeclarações aninhadascomo não utilizar a declaração
if- As comparações em Python são avaliadas como
TrueouFalse. Com declarações condicionais, verificamos esse valor implicitamente . Em Python, não queremos compararTrueouFalsecom==.
- As comparações em Python são avaliadas como
# NÃO FAÇA ISSO
if (3 < 5) == True:
print("Olá")
# NÃO FAÇA ISSO
if (3 < 5 ) is True:
print("Olá")
# FAÇA ISSO
if 3 < 5:
print("Olá")
# FAÇA ISSO
a = True
b = [1,2,3]
if a and b:
print("Olá")
if a is True:
print("Olá")
else- A
elseinstrução é o que você deseja executar se e somente se suaifinstrução não foi acionada.
- A
elif- A instrução
elifé utilizada se existir mais condições a serem verificadas e é acionado se oifnão for consideradoTrue. É possivel ter quantas instruçõeselifforem necessárias. São expressões intermediárias que antecedem oelse
- A instrução
Comando while
Em vez de serem executados apenas uma vez quando uma condição é atendida, como uma a instrução
iffaz, na instruçãowhilesão executados para sempre até que uma condição não seja mais atendida.A instrução
while, normelmente deve ser acompanhada de um contador/flag para evitar um loop infinito.
contador = 0
maximo = 5
# while controlado
while contador < maximo:
print(f"O contador é: {contador}")
contador = contador + 1
# while infinito
while contadot < maximo:
print(f"O contador é: {contador}")
Break, continue e return
| Instrução | Detalhamento |
|---|---|
return | A instrução return é usada para encerrar a execuçao de uma função e retornar o resultado para o chamador; as instruções indicadas abaixo a palavra-chave return não serão executadas;se a instrução return não tiver nenhuma expressão, None será retornado |
break | A instrução break sairá completamente do loop atual, o que significa que não executará mais nenhuma das instruções contidas dentro deste loop |
continue | A instrução continue volta para o início do loop atual |
yield | A instrução yield retorna um resultado intermediário para o chamador, mas mantém o estado local da função, para que ela possa ser retomada exatamente de onde parou |
Tratamento de exceções e tracebacks
- o basico de
tryeexcept