O documento apresenta um roteiro sobre Python para iniciantes, abordando conceitos como:
1. O que é Python, suas aplicações e ambientes de desenvolvimento;
2. Diferença entre linguagens compiladas e interpretadas;
3. Estruturas de dados como listas, tuplas, conjuntos e dicionários;
4. Estruturas condicionais e laços de repetição para tomada de decisão e repetição de tarefas.
2. Roteiro
• O que é Python?
• Linguagem interpretada X linguagem compilada
• Ambiente de desenvolvimento para Python
• Hello World!
• Comentários, Operadores de atribuição e
concatenação
• Estrutura de Decisão – IF Else
• Laço For, Listas, Funções, Exceções
4. Python com Pizza
• Vamos aprender Python usando situações
comuns em uma Pizzaria
• Aplicar os recursos da linguagem em um
ambiente de mercado
• Tentar deixar o slide menos chato :D
5. Linguagem compilada
• Código gera um arquivo executável, binário,
bytecode;
• Fortran, C, C++, Visual basic, Delphi, Java;
6. Linguagem interpretada
• Código processado pelo interpretador, sem
necessidade de gerar um executável;
• Python, PHP, Java, Ocaml, Perl, Shell Script;
7. Ambiente de desenvolvimento
• Para rodar Python, é necessário ter o
interpretador, disponível para Linux,
Windows e Mac OSX
• https://www.python.org/downloads/
10. O que é Python?
• Python é uma linguagem de programação
para rodar no lado servidor
• Linguagem fácil de aprender, fácil de
entender, rápida de produzir código, focada
na produtividade do programador
• Django, Flask, Pyramid, Turbo Gears: Python
para web
11. O que é Python?
• Dash, Anaconda: Python para cientistas de
dados
• Scikit-learn: Mineração de dados
• Kivy: Python para aplicativos mobile
• PyGame, PyGlet, PyGTK: Python para jogos
• BioPython: Python para Bioinformática/Genética
12. Hello World!
• Usamos print() para imprimir na tela:
print (“Hello World!”)
mensagem = “bom dia!”
print (mensagem)
15. Operadores - Exercícios
1. Crie 5 variáveis para nomes de 5 pizzas
(pizza01, pizza02, etc) e imprima essas
variáveis
2. Crie 5 variáveis para nomes de recheio de
pizzas (recheio01, recheio02, etc) e imprima
essas variáveis
3. Crie 5 variáveis para bebidas (bebidas01,
bebidas02, etc) e imprima essas variáveis
16. Strings
• Em Python, string é vista como uma “lista de
caracteres” e podemos manipular de varias formas:
pizza01 = “Marguerita Especial”
pizza02 = “Quatro Formmaggio”
pizza03 = “Frango com Requeijão”
print (pizza01[3])
print (pizza02[6:12])
print (pizza03[0:12])
18. Strings
# colocar cada palavra em maiuscula
print(pizza02.title())
#contar repeticoes de uma letra
print(pizza03.count(“e”)
#localizar posicao da letra na string
print(pizza01.find(“a”))
# separar substrings
print(pizza02.split())
19. Strings - Exercícios
1. Crie 5 variáveis com nomes de 5 pizzas
2. Imprima as 5 primeiras letras das 5 pizzas
3. Imprima da 3 até a 7 letra das 5 pizzas
4. Coloque as 5 pizzas todas como maiúsculas
5. Coloque as 5 pizzas todas como minúsculas
6. Conte quantas ocorrências da letra ‘e’
acontecem nas 5 pizzas
7. Localize e imprima em qual posição está a letra
‘a’ nas 5 pizzas
20. Concatenação
• Usamos o + para concatenação em Python
a = “Pizza de ”
b = “Calabresa”
print(a+b)
• NÃO podemos concatenar string com numero!
Para isso usamos a função str().
• O Operador + serve para concatenação ou
adição
21. Tratamento de tipos - Casting
• Em python, usamos 3 funções para tratar e combinar
valores de tipos diferentes:
a = int(x)
b = float(x)
c = str(x)
• Com isso podemos converter qualquer valor para
tipos diferentes.
• Podemos concatenar qualquer valor com a função
str()
22. Tratamento de tipos - Exercicios
1. Crie uma mensagem concatenando uma
frase com um valor inteiro
2. Crie uma mensagem concatenando uma
frase com um valor float
3. Transforme a variável precoPizza de um
valor float em inteiro
4. Transforme um valor precoSuco inteiro em
float
23. Listas, Tuplas, Sets e Dicionários
• Listas: coleção com itens ordenados e
alteráveis
• Tuplas: coleção com itens ordenados e não-
alteráveis
• Set: coleção com itens não-ordenados e não-
indexados
• Dictionaries: coleção com itens não-
ordenados, alteráveis e indexados
24. Listas
• Estruturas de armazenamento equivalente aos
arrays(vetores);
pizzas = ["queijo", "calabresa",
"chocolate", "prestigio",
"nordestina“]
print(pizzas)
print(pizzas[2])
print(pizzas[0])
26. Listas
# pop com indice: retira e retorna item
pizzas.pop(2)
# pop sem indice: retira e retorna o ultimo item
pizzas.pop()
# del com indice: apaga o item indexado
pizzas.del(3)
# del sem indice: apaga a lista inteira
pizzas.del()
27. Listas
# clear: limpa a lista inteira
pizzas.clear()
#sort sem parametro: ordena em ordem alfabeticamente
pizzas.sort()
#sort com parametro para reverter a lista
pizzas.sort(reverse=True)
28. Listas - Exercicios
1. Crie uma lista chamada PizzasdaSemana,
contendo os nomes de 10 pizzas disponíveis no
cardápio nessa semana e imprima.
2. Crie uma lista chamado BebidasdaSemana,
contendo os nomes de 10 bebidas disponíveis
no cardápio nessa semana e imprima.
3. Remova o 3º item das duas listas acima e
imprima a lista final;
4. Organize as duas listas em ordem alfabética;
5. Acrescente mais um item na 5º posição das
duas listas e imprima as listas finais;
30. Sets
• Estruturas que não tem ordem e nao tem indexação
• Aceitam valores de tipos diferentes no mesmo set:
string, int, float, etc
sobremesas = {"pudim", "petit gateau",
"mousse", 1.8, 20}
#adicionar um item ao set
sobremesas.add("chesse cake")
#adicionar varios itens ao set
sobremesas.update(["pavê de morango","torta
de limão","brigadeirão"])
31. Sets
# remove: remove item do set, retorna
erro se o item não existir
sobremesas.remove("mousse")
# discard: remove item do set, e nao
retorna erro se o item não existir
sobremesas.discard("pavê de morango")
32. Sets - Exercicios
1. Crie um set chamado PedidoPizza, contendo
os dados do pedido de pizza (codigo, nome,
descricao valor, data do pedido, forma de
pagamento, etc)
2. Crie um set chamado PedidoDelivery,
contendo os dados do pedido de pizza
(codigo, nome, descricao, valor, data do
pedido, forma de pagamento, etc)
33. Dicionarios
- Estruturas que não tem ordem, tem indexação
e os valores sao alteraveis
- Aceitam valores de tipos diferentes no mesmo
set: string, int, float, etc
PizzaCalabresa = {
"nome":"Calabresa",
"codigo": 100,
"preco": 20.50,
"borda": "queijo",
"recheio": "Mussarela, calabresa, cebola,
orégano"
}
34. Dicionarios
#adicionar um item ao set
sobremesas.add("chesse cake")
#adicionar varios itens ao set
sobremesas.update(["pavê de
morango","torta de
limão","brigadeirão"])
35. Dicionarios
#acessar um valor dentro do dicionario
print(PizzaCalabresa["preco"])
print(PizzaCalabresa["recheio"])
#alterando uma variavel dentro do
dicionario
PizzaCalabresa["borda"] = "sem borda"
36. Dicionarios
#incluindo uma nova key no dicionario
PizzaCalabresa["vendedor"] = "Jose"
#remove um item com a chave
especificada
PizzaCalabresa.pop("preco")
#remove o ultimo item
PizzaCalabresa.popitem()
37. Dicionários
1. Crie um dicionário para cadastrar os tipos de Pizza
e cadastre 5 pizzas, como por exemplo:
PizzaMarguerita, PizzaMussarela,
PizzaNapolitano, contendo:
o Código, Preço, Descrição, Recheio, Peso, Data de
validade
2. Crie um dicionário para cadastrar os tipos de
bebidas e cadastre 5 bebidas, por exemplo Kuat,
Pepsi, CocaCola, FantaUva, contendo:
o Código, Preço, Descrição, volume, data de validade.
38. Dicionários
3. Crie um dicionário para cadastrar os tipos de
pagamento e cadastre as 3 formas de pagamento:
o PagCredito: nome do cliente, CPF, data e hora da
compra, total a pagar, limite do cartão, número NFE,
qtde de parcelas, valor e percentual do imposto.
o PagDebito: nome do cliente, CPF, data e hora da
compra, total a pagar, saldo da conta, número NFE,
valor e percentual do imposto.
o PagVista: nome do cliente, CPF, data e hora do
pagamento, total a pagar, valor do troco, valor e
percentual do imposto.
39. Funções
• Com as funções podemos organizar o código, modularizar e
reaproveitar o código em outros sistemas
• As funções também ajudam a facilitar o entendimento do
código, deixando ele mais enxuto
def HelloWorld():
print("Hello World!")
HelloWorld()
def ImprimirNome(nome):
print("Seja bem vindo "+nome+" à Pizzaria
Reis Magos!")
ImprimirNome(“mario")
40. Funções
def CalcularPedido(item1, qtde1, item2,
qtde2, item3, qtde3):
total = item1*qtde1 + item2*qtde2 +
item3*qtde3
print("O total do seu pedido eh:
"+str(total))
CalcularPedido(20,2,30,1,10,8)
41. Funções
1. Crie a função Soma(a,b), que recebe 2 valores e retorna o
resultado.
2. Crie a função Potencia(a,b), que recebe a base e o
expoente e retorna o resultado
3. Crie a função PedidoPizza(), que recebe uma lista com os
itens do pedido da Pizza, calcula o valor total para o cliente
+ taxa de serviço + impostos e imprime a fatura detalhada
para o cliente
4. Crie a função PromocaoDaSemana(), que imprime todas as
promoções de Pizza da semana, no formato de calendário
para facilitar a leitura do cliente. Cada dia da semana tem 3
opções de pizza em promoção.
42. If-Elif-Else
- Estrutura Condicional, tomada de decisão.
- Python trabalha com identação de código, se a
identação estiver errada, o if-elif-else não
reconhece:
44. If-Elif-Else
precoPizza01 = 10
precoPizza02 = 30
if precoPizza01 < precoPizza02:
print("Pizza 01 eh mais barata.")
elif precoPizza01 > precoPizza02:
print("Pizza 02 eh mais barata")
else: print("As pizzas tem precos
iguais")
45. If-Elif-Else
# operadores Lógicos and e or:
usuario = "pizzaria"
senha = "12345"
if usuario == "pizzaria" and senha ==
"12345":
print("Bem vindo!")
else: print("Usuario ou senha
incorreta")
46. If-Elif-Else
# operadores Lógicos and e or
pagamentoCredito = True
pagamentoDebito = True
pagamentoAVista = True
if pagamentoCredito == True or
pagamentoDebito == True or pagamentoAVista
== True:
print("Pagamento efetuado com sucesso.
Volte sempre!")
else: print("Pagamento não realizado!")
48. Laços While
#contador para o laço
i = 1
# o laço executa 10 vezes, até que a
condicao do contador ultrapasse 10
while i < 10:
print("Boa noite!")
i += 1
49. Laços While - Exercicios
1. Esse é um menu de uma pizzaria:
Código Descrição Preço (R$)
001 Quatro Queijos 25
002 Romana 20
003 Pepperoni 22
004 Frango com Cheddar 30
005 Peito de Peru 64
50. Laços While - Exercicios
Usando laços e listas, crie uma rotina para
receber código, descrição e preço de cada
pizza.
Para encerrar o cadastro, o usuário deve
digitar FIM. Ao concluir, o menu deve ser
impresso detalhadamente.
51. Laço While - Exercicios
2. Crie uma rotina para implementar a caixa registradora da
pizzaria. Na tela deve ser exibido, por exemplo:
Pizzaria Reis Magos
====================
Pizza Toscana: R$ 28
Pizza Catuperoni: R$ 30
Pizza Napolitana R$ 30
Refrigerante Kuat: R$ 3
====================
Total: R$ 91
Dinheiro: R$100
Troco: R$ 9
53. Laço For
#Lista com as pizzas
Pizzas = ["Calabresa", "Marguerita",
"Quatro queijos", "atum", "frango",
"mozarella"]
# imprime o conteudo da lista
for x in Pizzas:
print(x)
#imprime o conteudo da string
for x in Pizzas[0]
print(x)
54. Laço For
#Para o laço quando encontrar a string atum
for x in Pizzas:
print(x)
if x=="atum":
break
55. Laço For
#Não executa a impressão de atum e continua
a execução das proximas impressoes
for x in Pizzas:
if x=="atum":
continue
print(x)
56. Laço For
#Executa qualquer comando dentro de uma
sequencia
for x in range(2,98):
print(x)
For x in range(2,30):
print(“Seja bem-vindo!”)
57. Laço For - Exercícios
1) Crie uma rotina que receba 10 pizzas, onde vai ser pedido
nome, preço e desconto à vista de cada pizza. Ao final,
imprima os nomes das pizzas com seus valores originais e
descontos calculados.
58. Datetime
Python possui um modulo externo chamado datetime, para
tratar valores com algumas funções de formatação de data e
hora.
#importando a biblioteca
import datetime
# atribuindo a hora e data em uma variavel
x = datetime.datetime.now()
59. Datetime
diaNome = (x.strftime("%A"))
diaNumero = x.day
mesNumero = x.month
mesNome = x.strftime("%B")
ano = x.year
horaCompleta = x.strftime("%X")
print("Seja bem-vindo! Hoje é
"+str(diaNome)+", Dia "+str(diaNumero)+" de
"+str(mesNome)+" de "+str(ano))
60. Datetime
hora = x.hour
minuto = x.minute
segundo = x.second
horaCompleta = x.strftime("%X")
print("Não perca a hora! São:
"+str(hora)+":"+str(minuto)+":"+str(segundo
))
61. Datetime - Exercicios
1. A função (x.strftime("%A"))retorna o dia em inglês
e a função x.strftime("%B")retorna o mês em inglês.
Crie uma função que traduza os nomes em inglês, usando
o datetime e listas.
2. Crie uma função para imprimir o cabeçalho de uma nota
fiscal, com data e hora personalizados, para facilitar a
leitura do cliente.
62. Datetime - Exercicios
3. Crie uma função para o sistema de atendimento da
Pizzaria. Nesse sistema, crie uma mensagem de boas vindas
contendo o nome do funcionário, data e hora formatados em
extenso, como nesse exemplo:
Bom dia Mário! Seja bem-vindo ao sistema.
Hoje é sábado, dia 9 de março de 2019
Agora são 22:48
63. Try Except
• Python oferece uma alternativa de mensagem de erro, caso
aconteça uma falha na execução daquele código
• A exceção é uma maneira de personalizar o erro e explicar
ao usuário que houve erro naquela função
64. Try Except
def Divisao(a,b):
try:
x = a/b
print("O resultado eh: "+str(x))
except:
print("Erro: Dados inválidos. Digite
novamente os valores")
65. Try Except
1) Crie uma função para calcular o valor total do pedido da
pizza. Crie uma exceção caso os dados sejam inválidos.
2) Crie uma função para calcular e exibir o troco do pedido da
pizza. Crie uma exceção caso os dados sejam inválidos.