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ão- False. Qualquer um desses tipos de dados quando tiver elementos são- True
- 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)e- help(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 como- True
- Para executar o condigo apenas se a expressão for - False, use a palavra chave- not
- ife veracidade
- ife funções
- ifdeclarações aninhadas
- como 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ção- whilesã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 returnnão serão executadas;se a instrução returnnão tiver nenhuma expressão,Noneserá retornado | 
| break | A instrução breaksairá completamente do loop atual, o que significa que não executará mais nenhuma das instruções contidas dentro deste loop | 
| continue | A instrução continuevolta para o início do loop atual | 
| yield | A instrução yieldretorna 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