Python for zombies (very basic level)

Post on 26-May-2015

6,929 views 0 download

Tags:

description

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

transcript

Python 3 for Zombies (very basic level) Fernando Masanori – FATEC – Centro Paula Souza

@fmasanori

Brain Hack Yeah!

Acreditem, ex-aluno meu

Se quiser estudar sozinho, use o livro abaixo

Ou este para aprender

Mas, se precisa de mais ajuda para aprender a programar, continue aqui...

Errando se aprende

Errando se aprende

No Python os espaços iniciais são importantes

Errando se aprende

String diferente de inteiro

Observe que não aconteceu nada ao digitar enter no final da linha É necessário “rodar” o programa no modo edição (Run Module F5)

Edition mode

Rodar o programa

Sempre use a extensão “.py” para não perder as cores do seu programa

Salvar o programa

Mesmo resultado

if/else/input/print

if/else/input/print

Funções

if/else/input/print

Strings

if/else/input/print

Variáveis

if/else/input/print

Dir

etiv

as

if/else/input/print

Identação

if/else/input/print

= atribuição

if/else/input/print

== comparação

if/else/input/print

• 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

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!”

As partes do seu 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

Código fonte

O editor salva o código fonte em

um arquivo

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

Interpretador Python

O interpretador traduz o texto para

binário, que o computador entende

Hmm.. parece um jogo de

adivinhação...

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...

Como executo o programa?

print (“Bem vindo ao meu programa!”)

print (“Volte sempre!”)

Programas simples

Programas normais

Escolhendo o caminho

chute == 42

O caminho True

O caminho False

condição

O computador segue por este caminho se a condição é verdadeira (chute == 42)

O computador segue por este caminho se a condição

é falsa (chute != 42)

Escolhendo o caminho

• O programa somente diz se acertou ou não

• Para ajudar você dirá “Alto” ou “Baixo” caso a pessoa erre

• Como ficaria a estrada?

Dando dicas

chute == 42

chute > 42

print (‘Você venceu!”)

print (‘Alto”)

print (‘Baixo”)

print (‘Fim do Jogo!”)

Dando dicas

Utilize BACKSPACE e TAB para ir e

voltar

Dando dicas

Só um chute por vez?

Programa considerado fraco

Seria tão legal repetir várias vezes as mesmas linhas de

código, mas isso é um sonho...

Repetir comandos

Repetir comandos

Repetir comandos

chute = 0

chute != 42

g = input(...) chute = int(g)

Quando o programa chega no while pela primeira vez

ele verifica a condição

No final do bloco do loop o programa volta para a

condição de novo

Se a condição é verdadeira ele sobe no looping

Repetir comandos

Sempre é 42?

42 de novo?

Sim, resposta 42 sempre, hehe

Sorteando

Show de bola! Não importa o quanto eu

jogue, sempre terei um número novo!

Agora sim!

Aqui vem o trem de dados

Cada vagão tem sua

informação

Listas == trem de dados

Mineirinho e seu trem de dados

Todos a bordo do expresso

my_array!

O trem de dados my_array é uma única variável

Listas == trem de dados

Dê um nome ao trem de dados

Atribua uma lista de dados

Como posso acrescentar um vagão com “Bettys”?

Engatar mais dados

Aumentei um vagão na

lista

append

• Uma lista vazia

• Uma lista com três notas

• Acessando uma nota

• Mudando a primeira nota

Listas

Strings ou textos

• Posso usar aspas simples, dupla ou tripla

Aspas simples, duplas, triplas

Fatia do primeiro número até antes do segundo Não inclui o segundo número! Sim, esse é o meu time...

0 1 2 3 4 5 6 7 8

Fatiamento (Jack Stripador)

• Posso usar um incremento ao fatiar a string

Incremento no fatiamento

• Verifique se uma palavra é palíndrome

Incremento no fatiamento

Alterar strings?

• Usando concatenação contornamos esse problema

Concatenar pode ajudar

for == while enrustido

Códigos equivalentes: for durante o dia vira while à noite

for == while enrustido

Códigos equivalentes

for == while enrustido

Códigos equivalentes

• 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

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

def functions

• 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

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

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

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())

Arquivos

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

• 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

Dictionaries

Dictionaries

Dictionaries

Dictionaries

https://gist.github.com/4673017

Banco de Dados

https://gist.github.com/4673029

Interface GUI

https://gist.github.com/4961824

By Luciano Ramalho

OOP

https://gist.github.com/4673041

JSON Chuck Norris Nerd Jokes

https://gist.github.com/4745061

Gmail send message

https://gist.github.com/4745299

Quicksort

https://gist.github.com/4673057

Fibonacci Recursivo

https://gist.github.com/4762654

Bootle

https://gist.github.com/4762814

https://raw.github.com/defnull/bottle/master/bottle.py

Copiar o arquivo abaixo em \python3x\Lib

Perguntas? fmasanori@gmail.com

facebook.com/fmasanori

twitter.com/fmasanori