O slideshow foi denunciado.
Seu SlideShare está sendo baixado. ×

Introdução a programação com Python (para jornalistas)

Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Carregando em…3
×

Confira estes a seguir

1 de 59 Anúncio
Anúncio

Mais Conteúdo rRelacionado

Diapositivos para si (20)

Semelhante a Introdução a programação com Python (para jornalistas) (20)

Anúncio

Mais de Álvaro Justen (20)

Mais recentes (20)

Anúncio

Introdução a programação com Python (para jornalistas)

  1. 1. Lógica de Programação em Python Turicas aka Álvaro Justen Natália Mazotte 12ª Conferência da ABRAJI 01 de julho de 2017 - São Paulo/SP
  2. 2. Turicas, prazer! =) Sigam-me os bons: { , , , , } /turicas twitter github youtube slideshare instagram turicas@pythonic.cafe Blog: turicas.info +55 41 999 311 221 (Signal, Telegram, WhatsApp)
  3. 3. Natália Mazotte twitter.com/NataliaMazotte github.com/ncortezrj ncortezrj@gmail.com
  4. 4. escoladedados.org
  5. 5. generonumero.media
  6. 6. pythonic.cafe youtube.com/c/PythonicCafe
  7. 7. Python
  8. 8. E vocês?Qual seu nome? Já tem algum conhecimento de programação? E Python? Quais são seus objetivos? Cadastre em: bit.ly/python-abraji12
  9. 9. ObjetivosProgramação: para que serve? Quebrar o gelo: não é complicado, é complexo Até onde dá pra ir?
  10. 10. Parte 1: Contextualização
  11. 11. Duas histórias...
  12. 12. Quando usar Python? Quando o Excel/Spreadsheet/etc. não dá conta Muitos dados Filtros muito complexos Quando tem muita repetição de tarefas chatas
  13. 13. Como Python Pode Ajudar Na Jornada?
  14. 14. PythonLinguagem de programação Criada por Guido Van Rossum no m da década de 80 GNU/Linux e Mac OS X: já vem instalado Instalar python.org
  15. 15. Entrevistei Guido van Rossum! Em breve em youtube.com/c/PythonicCafe
  16. 16. Fonte: Programming Language? github.com/stereobooster/programming-languages- genealogical-tree
  17. 17. Python - Características Software livre Fácil de aprender Propósito geral Largamente utilizada (mercado em alta) Comunidade incrível (pessoas) Baterias incluídas
  18. 18. Python - Quem usa? Google NASA Mozilla Foundation Globo.com Dropbox ... (dá pra car até amanhã falando) ...
  19. 19. 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
  20. 20. 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
  21. 21. Parte 2: Lógica de Programação
  22. 22. 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
  23. 23. 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
  24. 24. Editor de textoOnde programadores escrevem os programas Instrução: Baixar Notepad++
  25. 25. ExercícioCriar um algoritmo para escovar os dentes Um verbo por frase/instrução Instruções simples
  26. 26. 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
  27. 27. ObservaçõesLinguagem não formal Variáveis (nomes) Boas práticas Granularidade ("nível")
  28. 28. Estruturas de controle de uxoEnquanto ... E se ...
  29. 29. Nem só de instruções vive o computadorProcessador Memória RAM HD/SSD Entrada/saída (rede etc.)
  30. 30. Parte 3: Introdução a Python!
  31. 31. Primeiro Verbo em Python print Arquivo: hello.py print("Olá, ABRAJI!") cygwin64 Terminal
  32. 32. print?
  33. 33. Estrutura dos ProgramasEntrada MÁGICA Saída Código + dados
  34. 34. 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
  35. 35. Computando (2) Arquivo: soma.py valor1 = input("Digite um número:") valor2 = input("Digite outro número:") print(valor1 + valor2)
  36. 36. Tipos de Dados Strings (str) Exemplo: "Álvaro" Números inteiros (int) Exemplo: 42 Números racionais (float) Exemplo: 3.14 Números complexos (complex) Exemplo: 1 + 2j Listas (list) Exemplo: [1, 2, 3] Dicionários (dict) Exemplo: {"linguagem": "python", "resposta": 42} ...
  37. 37. 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)
  38. 38. 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
  39. 39. 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))
  40. 40. Operadores Lógicos Resultam em verdadeiro/falso <: menor que >: maior que <=: menor ou igual que >=: maior ou igual que ==: igual !=: diferente or and not
  41. 41. Exercício Arquivo: media.py Ler 2 números inteiros Mostrar a média
  42. 42. Exercício Arquivo: media2.py Ler 3 números racionais Trocar int por float Mostrar a média
  43. 43. 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)
  44. 44. 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))
  45. 45. 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))
  46. 46. 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"])
  47. 47. Parte 4: Analisando Dados com Python
  48. 48. Exercício Qual a densidade demográ ca dos municípios do RJ? densidade = habitantes / area Entrada: municipios-brasil.csv
  49. 49. Algoritmo Abrir arquivo CSV com municípios Para cada registro (município): Se o estado for RJ: Calcula densidade Mostra densidade
  50. 50. 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
  51. 51. 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) +
  52. 52. 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})
  53. 53. Exemplo Quais notícias possuem o termo "bala perdida"? Entrada: notificacoes.csv Ver código
  54. 54. Parte 5: Aprendendo mais
  55. 55. Exponha-se Cursos online Grupos Eventos Praticando Praticando Praticando Praticando Praticando
  56. 56. Só Python? Bibliotecas e mais bibliotecas SQL ... ? Python Package Index (aka PyPI)
  57. 57. Feedback O que foi legal? O que pode melhorar? bit.ly/avalia-abraji17
  58. 58. ? { , , , , }/turicas twitter github youtube slideshare instagram turicas@pythonic.cafe Blog: turicas.info +55 41 999 311 221 twitter.com/NataliaMazotte github.com/ncortezrj ncortezrj@gmail.com

×