Python for zombies (very basic level)

8,674 views
8,515 views

Published on

Introdução à programação com Python, exemplos legais no final!
Resumo no vídeo: http://www.youtube.com/watch?v=Zp7Y8goUI70

Published in: Education
3 Comments
18 Likes
Statistics
Notes
No Downloads
Views
Total views
8,674
On SlideShare
0
From Embeds
0
Number of Embeds
503
Actions
Shares
0
Downloads
397
Comments
3
Likes
18
Embeds 0
No embeds

No notes for slide

Python for zombies (very basic level)

  1. 1. Brain Hack Yeah! Acreditem, ex-aluno meu Python 3 for Zombies (very basic level)Fernando Masanori – FATEC – Centro Paula Souza @fmasanori
  2. 2. Se quiser estudar sozinho, use o livro abaixo
  3. 3. Ou este para aprender
  4. 4. Mas, se precisa de mais ajuda paraaprender a programar, continue aqui...
  5. 5. Errando se aprende
  6. 6. Errando se aprendeNo Python os espaços iniciais são importantes
  7. 7. Errando se aprende
  8. 8. String diferente de inteiro
  9. 9. Edition modeObserve que não aconteceu nada ao digitar enter no final da linhaÉ necessário “rodar” o programa no modo edição (Run Module F5)
  10. 10. Rodar o programa
  11. 11. Salvar o programaSempre use a extensão “.py” para não perder as cores do seu programa
  12. 12. Mesmo resultado
  13. 13. if/else/input/print
  14. 14. if/else/input/print
  15. 15. if/else/input/printFunções
  16. 16. if/else/input/print Strings
  17. 17. if/else/input/print Variáveis
  18. 18. if/else/input/printDiretivas
  19. 19. if/else/input/printIdentação
  20. 20. if/else/input/print = atribuição
  21. 21. if/else/input/print == comparação
  22. 22. As partes do seu programa• Funções embutidas (built in functions) são chamadas pelo seu nome e exigem parênteses• Strings se diferenciam dos comandos do programa por estarem dentro de aspas• Variáveis controlam dados na memória e possuem tipos• Diretivas são comandos da linguagem
  23. 23. As partes do seu programa• A identação separa blocos de comandos• Um igual (=) significa atribuição – Ex.: chute = int(g) (chute recebe inteiro de g)• Dois iguais (==) significa comparação – Ex.: chute == 42 (chute é igual a 42?)• Dois pontos abrem blocos de instruções – “Eu amo dois pontos!”
  24. 24. Como executo o programa?• Há duas coisas para executar o programa de adivinhação: um editor e um interpretador• O editor salva o código escrito em um arquivo no disco O editor salva o código fonte em um arquivo Código fonte
  25. 25. Como executo o programa?• Computadores não podem processar textos pois somente entendem binário (zeros e uns)• O interpretador transforma o código fonte em um arquivo binário para o computador Hmm.. parece um jogo de adivinhação... Interpretador Python O interpretador traduz o texto para binário, que o computador entende
  26. 26. Como executo o programa?• O interpretador Python atua em dois modos: interativo e edição• O modo interativo é ótimo para testar comandos e obter respostas instantâneas• Porém o modo edição é o mais utilizado para desenvolver os programas – Nomes dos arquivos geralmente terminam com “.py” – Caso utilize outra extensão perderá as cores...
  27. 27. Programas simplesprint (“Bem print (“Voltevindo ao meu sempre!”)programa!”)
  28. 28. Programas normais
  29. 29. Escolhendo o caminho
  30. 30. Escolhendo o caminho O computador segue por este caminho se a condiçãocondição é verdadeira (chute == 42) O caminho True chute == 42 O computador segue por O caminho False este caminho se a condição é falsa (chute != 42)
  31. 31. Dando dicas• O programa somente diz se acertou ou não• Para ajudar você dirá “Alto” ou “Baixo” caso a pessoa erre• Como ficaria a estrada?
  32. 32. Dando dicas print (‘Você venceu!”) print print (‘Fim dochute == 42 (‘Alto”) Jogo!”) chute > 42 print (‘Baixo”)
  33. 33. Dando dicasUtilize BACKSPACE e TAB para ir e voltar
  34. 34. Programa considerado fraco Só um chute por vez?
  35. 35. Repetir comandos Seria tão legal repetir várias vezes as mesmas linhas de código, mas isso é um sonho...
  36. 36. Repetir comandos
  37. 37. Repetir comandos
  38. 38. Repetir comandos g = input(...) chute = int(g)Quando o programa chega Se a condição é verdadeirano while pela primeira vez ele sobe no looping ele verifica a condição chute = 0 chute != 42 No final do bloco do loop o programa volta para a condição de novo
  39. 39. 42 de novo? Sempre é 42? Sim, resposta 42 sempre, hehe
  40. 40. Sorteando
  41. 41. Agora sim! Show de bola! Não importa o quanto eujogue, sempre terei um número novo!
  42. 42. Listas == trem de dados Aqui vem o Cada vagãotrem de dados tem sua informação Mineirinho e seu trem de dados
  43. 43. Listas == trem de dados Todos a bordo do expresso my_array!O trem de dados my_array é uma única variável
  44. 44. Engatar mais dados Atribua umaDê um nome ao lista de dadostrem de dados Como posso acrescentar um vagão com “Bettys”?
  45. 45. append Aumentei um vagão na lista
  46. 46. Listas• Uma lista vazia• Uma lista com três notas• Acessando uma nota• Mudando a primeira nota
  47. 47. Strings ou textos
  48. 48. Aspas simples, duplas, triplas• Posso usar aspas simples, dupla ou tripla
  49. 49. Fatiamento (Jack Stripador) 0 1 2 3 4 5 6 7 8Fatia do primeiro número até antes do segundoNão inclui o segundo número!Sim, esse é o meu time...
  50. 50. Incremento no fatiamento• Posso usar um incremento ao fatiar a string
  51. 51. Incremento no fatiamento• Verifique se uma palavra é palíndrome
  52. 52. Alterar strings?
  53. 53. Concatenar pode ajudar• Usando concatenação contornamos esse problema
  54. 54. for == while enrustido Códigos equivalentes: for durante o dia vira while à noite
  55. 55. for == while enrustido Códigos equivalentes
  56. 56. for == while enrustido Códigos equivalentes
  57. 57. def functions• Aprendemos algumas funções do Python: len, int, float, print e input• Agora iremos criar as nossas próprias funções• Utilizo def para definir a função e return para devolver algum valor• Existem funções que não retornam nada
  58. 58. def functions• Esta função retorna se o parâmetro x é par• Observe que diferentemente do que já vimos até agora, essas linhas não serão executadas imediatamente• Preciso chamar a função para executá-la
  59. 59. Arquivos• Até agora nossos dados desapareciam ao sair do IDLE• Arquivos servem para armazenamento permanente• Um arquivo é uma área em disco onde podemos ler ou gravar informações• Acessamos o arquivo pelo seu nome• Para acessar um arquivo é preciso abri-lo
  60. 60. Arquivos• Ao abrir o arquivo informamos seu nome, diretório onde fica (se necessário) e que operações iremos executar: leitura e/ou escrita• A função que abre os arquivo é open e os modos são: r – leitura, w – escrita, a – append, b – binário, + (atualização)• Os métodos para ler ou escrever são read e write• Os arquivos devem ser fechados com close
  61. 61. Arquivos• Caso você execute este programa nada aparecerá na tela• Procure no diretório c:Python3x o arquivo números.txt• O modo w cria o arquivo se ele não existir, caso exista ele será apagado e reescrito
  62. 62. Arquivos• readlines gera uma lista onde cada elemento é uma linha lida• Arquivos textos são simples e possuem um caracter de controle no final para pular linha• Se quisermos tirar esse caracter do final podemos usar print(linha.rstrip())
  63. 63. Pythonic way• O código acima faz o mesmo da forma pythônica• No slide anterior vimos como programadores normais fazem a leitura• Python é legal, pois sempre você pode se aprofundar mais• Python é simples, mas difícil de esgotar 
  64. 64. Dictionaries• O dicionário em si consiste em relacionar uma chave a um valor específico• Diferentemente das listas, onde o índice é um número, dicionários utilizam suas chaves como índice• Para adicionar novos elementos não preciso de append, basta fazer a atribuição – Se a chave já existe: o valor associado é alterado – Se a chave não existe: a nova chave é adicionada
  65. 65. Dictionaries
  66. 66. Dictionaries
  67. 67. Dictionaries• Faça um programa que leia o arquivo alice.txt e conte o número de ocorrências de cada palavra no texto. Obs.: para saber os caracteres especiais use import string e utilize string.punctuation• http://www.gutenberg.org/cache/epub/11/pg 11.txt
  68. 68. Dictionarieshttps://gist.github.com/4673017
  69. 69. Banco de Dadoshttps://gist.github.com/4673029
  70. 70. Interface GUI By Luciano Ramalhohttps://gist.github.com/4961824
  71. 71. OOPhttps://gist.github.com/4673041
  72. 72. JSON Chuck Norris Nerd Jokes https://gist.github.com/4745061
  73. 73. Gmail send messagehttps://gist.github.com/4745299
  74. 74. Quicksorthttps://gist.github.com/4673057
  75. 75. Fibonacci Recursivohttps://gist.github.com/4762654
  76. 76. Bootle Copiar o arquivo abaixo em python3xLibhttps://raw.github.com/defnull/bottle/master/bottle.py https://gist.github.com/4762814
  77. 77. Perguntas? fmasanori@gmail.comfacebook.com/fmasanori twitter.com/fmasanori

×