Você está na página 1de 37

Python

Módulo 1

”Marcelo Ferreira” + ”Marcos Lopes”


Modo interativo

Aritmética (super) básica


“Oi, mundo”
Modo interativo

Aritmética (super) básica


“Oi, mundo”
Scripts

IDLE
Aritmética (super) básica usando print
“Oi, mundo”
Gravar o script usando comentários
Scripts

IDLE
Aritmética (super) básica usando print
“Oi, mundo”
Gravar o script usando comentários
Scripts

IDLE
Aritmética (super) básica usando print
“Oi, mundo”
Gravar o script usando comentários
Scripts

IDLE
Aritmética (super) básica usando print
“Oi, mundo”
Gravar o script usando comentários
Variáveis

São nomes a que se atribuem valores e que podem ser


manipulados e reutilizados durante um programa.
Os valores podem ser de vários tipos: inteiros, decimais,
strings, listas, conjuntos, …
Exemplos de atribuição de valor:
sala = 267
curso = "LingComp"
Variáveis

São nomes a que se atribuem valores e que podem ser


manipulados e reutilizados durante um programa.
Os valores podem ser de vários tipos: inteiros, decimais,
strings, listas, conjuntos, …
Exemplos de atribuição de valor:
sala = 267
curso = "LingComp"
Variáveis

São nomes a que se atribuem valores e que podem ser


manipulados e reutilizados durante um programa.
Os valores podem ser de vários tipos: inteiros, decimais,
strings, listas, conjuntos, …
Exemplos de atribuição de valor:
sala = 267
curso = "LingComp"
Sobre os Nomes das Variáveis

Distinguem maiúsculas e minúsculas


Podem conter letras e números
Devem começar por uma letra
Acentos e caracteres especiais não são permitidos
Convém separar nomes compostos por sublinhados ou
maiúsculas
Convém usar nomes descritivos (auto-explicativos)
Inteiros

São valores numéricos sem casas decimais


Python disponibiliza uma série de operações aritméticas para
lidar com números.
Estas operações se aplicam tanto a valores quanto a variáveis
>>> 11 + 5
16
>>> parcela1 = 11
>>> parcela2 = 5
>>> parcela1 + parcela2
16
Decimais (float)

Números com casas decimais pertencem ao tipo chamado de


float
Divisão com pelo menos um número decimal é um número
decimal.
# 10 é um inteiro e 10.0 é um decimal
>>> 10.0/4
2.5
Strings
São cadeias de caracteres
Seus valores são declarados entre aspas simples ou duplas
>>> nome = "Zequinha"
>>> sobrenome = "de Abreu"
Os elementos de uma string são indexados, começando do
zero:
>>> nome[0]
'Z'
>>> nome[0:3]
'Zeq'
O comprimento de uma string pode ser medido:
>>> len(nome)
8
As strings podem ser concatenadas:
>>> nome + sobrenome
'Zequinhade Abreu'
Strings
São cadeias de caracteres
Seus valores são declarados entre aspas simples ou duplas
>>> nome = "Zequinha"
>>> sobrenome = "de Abreu"
Os elementos de uma string são indexados, começando do
zero:
>>> nome[0]
'Z'
>>> nome[0:3]
'Zeq'
O comprimento de uma string pode ser medido:
>>> len(nome)
8
As strings podem ser concatenadas:
>>> nome + sobrenome
'Zequinhade Abreu'
Strings
São cadeias de caracteres
Seus valores são declarados entre aspas simples ou duplas
>>> nome = "Zequinha"
>>> sobrenome = "de Abreu"
Os elementos de uma string são indexados, começando do
zero:
>>> nome[0]
'Z'
>>> nome[0:3]
'Zeq'
O comprimento de uma string pode ser medido:
>>> len(nome)
8
As strings podem ser concatenadas:
>>> nome + sobrenome
'Zequinhade Abreu'
Strings
São cadeias de caracteres
Seus valores são declarados entre aspas simples ou duplas
>>> nome = "Zequinha"
>>> sobrenome = "de Abreu"
Os elementos de uma string são indexados, começando do
zero:
>>> nome[0]
'Z'
>>> nome[0:3]
'Zeq'
O comprimento de uma string pode ser medido:
>>> len(nome)
8
As strings podem ser concatenadas:
>>> nome + sobrenome
'Zequinhade Abreu'
Strings
São cadeias de caracteres
Seus valores são declarados entre aspas simples ou duplas
>>> nome = "Zequinha"
>>> sobrenome = "de Abreu"
Os elementos de uma string são indexados, começando do
zero:
>>> nome[0]
'Z'
>>> nome[0:3]
'Zeq'
O comprimento de uma string pode ser medido:
>>> len(nome)
8
As strings podem ser concatenadas:
>>> nome + sobrenome
'Zequinhade Abreu'
Print

Valores, incluindo os atribuídos a variáveis, podem ser


mostrados na tela através da função print().
>>> print "Zequinha"
Zequinha
>>> print nome
Zequinha
Conversões

Frequentemente será preciso converter o tipo de uma variável


O mais comum é converter strings em números e vice-versa
>>> x = 1
>>> x = float(x)
>>> x
1.0
>>> x = str(x)
>>> x
'1.0'
Pergunta: por que converter strings em números?
…e por que converter números em strings?
Exercício

Observe o funcionamento do programa MassaCorporal.py


Você deve criar o mesmo programa por engenharia reversa
Algumas dicas:
. Para a entrada de dados do usuário, use a função input().
1

Ela retorna uma string. Ex.:


.
. nome = input(”Nome: ”)
. A fórmula do IMC é:
2

.
peso
. IMC = altura2

. Use o modo interativo para testar suas hipóteses mais


3

facilmente do que no modo script. O interpretador armazena o


valor das variáveis mesmo depois de terminada a execução do
script.
Exercício

Observe o funcionamento do programa MassaCorporal.py


Você deve criar o mesmo programa por engenharia reversa
Algumas dicas:
. Para a entrada de dados do usuário, use a função input().
1

Ela retorna uma string. Ex.:


.
. nome = input(”Nome: ”)
. A fórmula do IMC é:
2

.
peso
. IMC = altura2

. Use o modo interativo para testar suas hipóteses mais


3

facilmente do que no modo script. O interpretador armazena o


valor das variáveis mesmo depois de terminada a execução do
script.
Listas

São sequências indexadas de objetos (números, strings, outras


listas,…)
Os itens da lista aparecem dentro de colchetes e são
separados por vírgulas
primeiro_trimestre = ["janeiro", "fevereiro", "março"]
retranca = [4, 4, 2]
lista vazia:
lista = []
É possível ler diretamente um item da lista através de seu
índice
>>> primeiro_trimestre[0]
'janeiro'
Listas

São sequências indexadas de objetos (números, strings, outras


listas,…)
Os itens da lista aparecem dentro de colchetes e são
separados por vírgulas
primeiro_trimestre = ["janeiro", "fevereiro", "março"]
retranca = [4, 4, 2]
lista vazia:
lista = []
É possível ler diretamente um item da lista através de seu
índice
>>> primeiro_trimestre[0]
'janeiro'
Listas

São sequências indexadas de objetos (números, strings, outras


listas,…)
Os itens da lista aparecem dentro de colchetes e são
separados por vírgulas
primeiro_trimestre = ["janeiro", "fevereiro", "março"]
retranca = [4, 4, 2]
lista vazia:
lista = []
É possível ler diretamente um item da lista através de seu
índice
>>> primeiro_trimestre[0]
'janeiro'
Listas

São sequências indexadas de objetos (números, strings, outras


listas,…)
Os itens da lista aparecem dentro de colchetes e são
separados por vírgulas
primeiro_trimestre = ["janeiro", "fevereiro", "março"]
retranca = [4, 4, 2]
lista vazia:
lista = []
É possível ler diretamente um item da lista através de seu
índice
>>> primeiro_trimestre[0]
'janeiro'
Modificando uma Lista

Diferentemente das strings, listas podem ser modificadas:


>>> retranca = [4,4,2]
>>> retranca[0] = 5
>>> retranca[1] = 3
>>> retranca
[5, 3, 2]
Antes de modificar uma lista importante, é prudente copiá-la
e nomeá-la com outra variável a fim de preservar os dados
originais
Para tanto, o melhor é construir uma lista a partir da antiga
lista usando o construtor list()
antigo_primeiro_trimestre = list(primeiro_trimestre)
Modificando uma Lista

Diferentemente das strings, listas podem ser modificadas:


>>> retranca = [4,4,2]
>>> retranca[0] = 5
>>> retranca[1] = 3
>>> retranca
[5, 3, 2]
Antes de modificar uma lista importante, é prudente copiá-la
e nomeá-la com outra variável a fim de preservar os dados
originais
Para tanto, o melhor é construir uma lista a partir da antiga
lista usando o construtor list()
antigo_primeiro_trimestre = list(primeiro_trimestre)
Modificando uma Lista

Diferentemente das strings, listas podem ser modificadas:


>>> retranca = [4,4,2]
>>> retranca[0] = 5
>>> retranca[1] = 3
>>> retranca
[5, 3, 2]
Antes de modificar uma lista importante, é prudente copiá-la
e nomeá-la com outra variável a fim de preservar os dados
originais
Para tanto, o melhor é construir uma lista a partir da antiga
lista usando o construtor list()
antigo_primeiro_trimestre = list(primeiro_trimestre)
Modificando uma Lista

As listas são concatenáveis como as strings:


a1 = ["Zangado", "Atchim"]
a2 = ["Dengoso", "Soneca"]
anoes = a1 + a2
O método append() acrescenta um item ao final da lista:
anoes.append("Dunga")
Para acrescentar itens em outras opções:
anoes[1:1] = ["Feliz"]

Para apagar um item:


del anoes[1]
Modificando uma Lista

As listas são concatenáveis como as strings:


a1 = ["Zangado", "Atchim"]
a2 = ["Dengoso", "Soneca"]
anoes = a1 + a2
O método append() acrescenta um item ao final da lista:
anoes.append("Dunga")
Para acrescentar itens em outras opções:
anoes[1:1] = ["Feliz"]

Para apagar um item:


del anoes[1]
Modificando uma Lista

As listas são concatenáveis como as strings:


a1 = ["Zangado", "Atchim"]
a2 = ["Dengoso", "Soneca"]
anoes = a1 + a2
O método append() acrescenta um item ao final da lista:
anoes.append("Dunga")
Para acrescentar itens em outras opções:
anoes[1:1] = ["Feliz"]
Para apagar um item:
del anoes[1]
Modificando uma Lista

As listas são concatenáveis como as strings:


a1 = ["Zangado", "Atchim"]
a2 = ["Dengoso", "Soneca"]
anoes = a1 + a2
O método append() acrescenta um item ao final da lista:
anoes.append("Dunga")
Para acrescentar itens em outras opções:
anoes[1:1] = ["Feliz"]
Para apagar um item:
del anoes[1]
Conversão entre listas e strings

Uma lista pode ser convertida numa string:


>>> palavras = ['o','menino','chorou']
>>> " ".join(palavras)
'o menino chorou'

Uma string pode ser convertida numa lista


>>> sent = "o menino chorou"
>>> sent.split()
['o', 'menino', 'chorou']
Conversão entre listas e strings

Uma lista pode ser convertida numa string:


>>> palavras = ['o','menino','chorou']
>>> " ".join(palavras)
'o menino chorou'

Uma string pode ser convertida numa lista


>>> sent = "o menino chorou"
>>> sent.split()
['o', 'menino', 'chorou']
Conjuntos

Os conjuntos são agrupamentos semelhantes às listas, mas


sem elementos repetidos nem indexados:
>>> set("copacabana")
set(['a', 'c', 'b', 'o', 'n', 'p'])
>>> set([2,1,4,2,4,5])
set([1, 2, 4, 5])
Conjuntos

Operações específicas de conjuntos (união, interseção,


exclusão):
s1 = "No meio do caminho tinha uma pedra"
s2 = "Nunca me esquecerei que no meio do caminho"
lista1 = s1.split()
lista2 = s2.split()
c1 = set(lista1)
c2 = set(lista2)
c3 = c1 | c2 # União
c1 & c2 # Interseção
c1 - c2 # Todo x em c1 mas não em c2