O documento apresenta uma introdução à lógica de programação em Python. Apresenta os objetivos da programação, características e aplicações da linguagem Python. Explica conceitos básicos de lógica de programação como algoritmos, instruções e estruturas de controle de fluxo. Demonstra exemplos práticos de códigos Python com variáveis, tipos de dados, operadores e repetição de comandos.
18. Python - Características
Software livre
Fácil de aprender
Propósito geral
Largamente utilizada (mercado em alta)
Comunidade incrível (pessoas)
Baterias incluídas
19. Python - Quem usa?
Google
NASA
Mozilla Foundation
Globo.com
Dropbox
... (dá pra car até amanhã falando) ...
20. Python - Comunidade
Grupos no Telegram:
Diversos grupos locais
No Facebook:
(o cial da APyB)
Associação Python Brasil (APyB)
python-brasil no Google Groups
pybr - roda de conversa
PyCoding pt_BR
Data science e Python
Página PythonBrasil
Grupo Python Brasil - Programadores
21. Python - Eventos
Nível regional:
(Ribeirão Preto/SP - já foi)
(2017: São Luís/MA - já foi)
(2017: Rio de Janeiro/RJ - já foi)
(2017: Manaus)
(2017: Caxias do Sul/RS)
Nível nacional:
(2017: Belo Horizonte/MG)
...
Caipyra
Python Nordeste
Python Sudeste
PyCon Amazônia
Python Sul
Python Brasil
PyConUS
PyConAr
23. Lógica de
programaçãoProgramas são conjuntos de algoritmos
Algoritmos são receitas de bolo
Compostos por instruções
"Modo de preparo" da receita
24. InstruçõesComeçam com verbo
Simples, passo-a-passo (imagine ensinar a uma criança)
Não ambíguas
Exemplos:
Inspirar por 5 segundos
Fechar os olhos
Expirar lentamente
25. Editor de textoOnde programadores escrevem os programas
Instrução: Baixar Notepad++
27. Resolução
Se o tubo de pasta de dentes estiver vazio:
Pegar um tubo novo na dispensa
Senão:
Pegar o tubo de pasta de dentes no armário
Abrir o tubo
Pegar a escova de dentes
Colocar pasta na escova
Fechar o tubo
Abrir a torneira
Molhar a escova por 2 segundos
Fechar a torneira
Levar a escova à boca
Repetir para cada dente:
Movimentar a escova de maneira circular
Ir para o próximo dente
Escovar a língua
Abrir a torneira
35. Saudando pelo nome
Arquivo: hello2.py
nome = input("Qual seu nome?")
print("Olá, " + nome) # o "+" junta duas strings
# isso é um comentário e o Python vai ignorá-lo
38. Computando (2) - Corrigido
Arquivo: soma.py
# lembra de f(g(x))?
valor1 = int(input("Digite um número:"))
valor2 = int(input("Digite outro número:"))
print(valor1 + valor2)
39. Operadores Matemáticos
Válidos para tipos de dados numéricos
+: soma
-: subtração
*: multiplicação
/: divisão
**: exponenciação
%: resto da divisão
//: divisão inteira
( e ): mudam precedência
(2 + 5) * 6
40. E se... ?
Arquivo: soma2.py
valor1 = int(input("Digite um número:"))
valor2 = int(input("Digite outro número:"))
if valor1 < 0 or valor2 < 0:
print("Um dos valores é negativo!")
else:
print("Todos valores são positivos!")
print("Soma: " + str(valor1 + valor2))
41. Operadores Lógicos
Resultam em verdadeiro/falso
<: menor que
>: maior que
<=: menor ou igual que
>=: maior ou igual que
==: igual
!=: diferente
or
and
not
44. Computando (3)
Arquivo: media3.py
valor1 = float(input("Digite um número:"))
valor2 = float(input("Digite outro número:"))
valor3 = float(input("Digite outro número:"))
valores = [valor1, valor2, valor3] # uma lista!
print(sum(valores) / len(valores))
# sum: soma todos os elementos da lista
# len: tamanho da lista (número de elementos)
45. Repetindo comandos
Arquivo: media4.py
valor1 = float(input("Digite um número:"))
valor2 = float(input("Digite outro número:"))
valor3 = float(input("Digite outro número:"))
valores = [valor1, valor2, valor3]
print("Valores digitados:")
for valor in valores:
print(valor)
media = sum(valores) / len(valores)
print("Média: " + str(media))
46. Repetindo comandos (2)
Arquivo: media5.py
quantidade = int(input("Quantos valores?"))
valores = []
for n in range(quantidade):
valor = float(input("Digite o valor " + str(n) + ": "))
valores.append(valor)
print("Valores digitados:")
for numero in valores:
print(numero)
print("Total de valores: " + str(len(valores)))
media = sum(valores) / len(valores)
print("Média: " + str(media))
47. Mudando a Entrada de Dados
Arquivo: ler_csv.py
Baixar CSV em: bit.ly/ex-py-abraji
import csv
municipios = csv.DictReader(open("municipios-brasil.csv"))
for municipio in municipios:
print(municipio["nome"] + "/" + municipio["estado"])
49. Exercício
Qual a densidade demográ ca dos municípios do RJ?
densidade = habitantes / area
Entrada: municipios-brasil.csv
50. Algoritmo
Abrir arquivo CSV com municípios
Para cada registro (município):
Se o estado for RJ:
Calcula densidade
Mostra densidade
51. Código
import csv
municipios = csv.DictReader(open('municipios-brasil.csv'))
for municipio in municipios:
if municipio['estado'] == 'RJ':
densidade = int(municipio['habitantes']) / float(municipio[
print(municipio['nome'] + '/RJ' + ': ' + str(densidade) + ' hab/k
52. Código (2)
Usando outra biblioteca
import rows
municipios = rows.import_from_csv('municipios-brasil.csv')
for municipio in municipios:
if municipio.estado == 'RJ':
densidade = municipio.habitantes / municipio.area
print(municipio.nome + '/RJ' + ': ' + str(densidade) +
53. Exemplo: Criando CSV
import csv
brasil = csv.DictReader(open('municipios-brasil.csv', encoding=
total = {}
for municipio in brasil:
estado = municipio['estado']
habitantes = int(municipio['habitantes'])
if estado not in total:
total[estado] = 0
total[estado] = total[estado] + habitantes
arquivo = open('habitantes.csv', mode='w', encoding='utf-8')
resultado = csv.DictWriter(arquivo, fieldnames=['estado', 'habitantes'
resultado.writeheader()
for sigla_estado, habitantes_estado in total.items():
resultado.writerow({'estado': sigla_estado,
'habitantes': habitantes_estado})