SlideShare uma empresa Scribd logo
1 de 66
Baixar para ler offline
Python para iniciantes
Mário Araújo Xavier
Sistemas de Informação – UnP
marioaxavier7@gmail.com
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
Python com Pizza
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
Linguagem compilada
• Código gera um arquivo executável, binário,
bytecode;
• Fortran, C, C++, Visual basic, Delphi, Java;
Linguagem interpretada
• Código processado pelo interpretador, sem
necessidade de gerar um executável;
• Python, PHP, Java, Ocaml, Perl, Shell Script;
Ambiente de desenvolvimento
• Para rodar Python, é necessário ter o
interpretador, disponível para Linux,
Windows e Mac OSX
• https://www.python.org/downloads/
Ambiente de desenvolvimento
• IDEs
Ambiente de desenvolvimento
• IDE online para Python, Java, PHP, Ruby,
Lua, Javascript, C++, etc
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
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
Hello World!
• Usamos print() para imprimir na tela:
print (“Hello World!”)
mensagem = “bom dia!”
print (mensagem)
Comentários e Docstrings
#comentario de 1 linha
“””
docstring
comentario
de
varias
linhas
”””
Operadores de atribuição
A = 1
x = “boa tarde!”
n1 = 1000
print(a)
print(x)
print(n1)
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
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])
Strings
#tamanho da string
print(len(pizza01))
#substituir letras ou strings
print(pizza02.replace(“Quatro”,“Cinco”))
#tudo minusculo
print(pizza03.lower())
print(nome.lower().capitalize())
#tudo maiusculo
print(pizza01.upper())
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())
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
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
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()
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
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
Listas
• Estruturas de armazenamento equivalente aos
arrays(vetores);
pizzas = ["queijo", "calabresa",
"chocolate", "prestigio",
"nordestina“]
print(pizzas)
print(pizzas[2])
print(pizzas[0])
Listas
#tamanho da lista
print(len(pizzas))
#acrescentar no final da lista
pizzas.append(“mussarela”)
#inserir em uma posição da lista
pizzas.insert(3, “frango com catupiry”
#remover item da lista
pizzas.remove(“calabresa”)
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()
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)
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;
Tuplas
• Estruturas de armazenamento com itens
não-ordenados e não alteráveis
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"])
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")
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)
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"
}
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"])
Dicionarios
#acessar um valor dentro do dicionario
print(PizzaCalabresa["preco"])
print(PizzaCalabresa["recheio"])
#alterando uma variavel dentro do
dicionario
PizzaCalabresa["borda"] = "sem borda"
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()
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.
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.
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")
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)
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.
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:
Operadores de comparação
Igualdade: a == b
Diferença: a != b
Menor que: a < b
Menor igual: a <= b
Maior que: a > b
Menor que: a >= b
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")
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")
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!")
Laços While
Repetição não-determinada
por valores
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
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
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.
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
Laços For
Repetição determinada por
valores
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)
Laço For
#Para o laço quando encontrar a string atum
for x in Pizzas:
print(x)
if x=="atum":
break
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)
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!”)
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.
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()
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))
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
))
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.
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
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
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")
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.
Python para iniciantes
Mário Araújo Xavier
Sistemas de Informação – UnP
marioaxavier7@gmail.com

Mais conteúdo relacionado

Mais procurados

Normas de Segurança da Informação - Família ISO/IEC 27000
Normas de Segurança da Informação - Família ISO/IEC 27000Normas de Segurança da Informação - Família ISO/IEC 27000
Normas de Segurança da Informação - Família ISO/IEC 27000Kleber Silva
 
Detecting WMI Exploitation v1.1
Detecting WMI Exploitation v1.1Detecting WMI Exploitation v1.1
Detecting WMI Exploitation v1.1Michael Gough
 
La primera pieza del ataque Footprinting
La primera pieza del ataque FootprintingLa primera pieza del ataque Footprinting
La primera pieza del ataque FootprintingAlvaro Machaca Tola
 
Linux Security, from Concept to Tooling
Linux Security, from Concept to ToolingLinux Security, from Concept to Tooling
Linux Security, from Concept to ToolingMichael Boelen
 
Conexiones del ordenador
Conexiones del ordenadorConexiones del ordenador
Conexiones del ordenadorRaquelPindo
 
Software Utilitario
Software UtilitarioSoftware Utilitario
Software UtilitarioAlex Naupay
 
Sistema operativos para red
Sistema operativos para redSistema operativos para red
Sistema operativos para redNin Bordon
 
Características generales de norton antivirus
Características generales de norton antivirusCaracterísticas generales de norton antivirus
Características generales de norton antivirusFeer Maya
 
Dicas e Princípios Básicos do Linux
Dicas e Princípios Básicos do LinuxDicas e Princípios Básicos do Linux
Dicas e Princípios Básicos do LinuxWellington Oliveira
 
Presentación Sistema OPerativo Linux
Presentación Sistema OPerativo  Linux Presentación Sistema OPerativo  Linux
Presentación Sistema OPerativo Linux Dhariana Leguisamo
 

Mais procurados (20)

IPCOP
IPCOPIPCOP
IPCOP
 
Ieee12207
Ieee12207Ieee12207
Ieee12207
 
Hydra
HydraHydra
Hydra
 
Normas de Segurança da Informação - Família ISO/IEC 27000
Normas de Segurança da Informação - Família ISO/IEC 27000Normas de Segurança da Informação - Família ISO/IEC 27000
Normas de Segurança da Informação - Família ISO/IEC 27000
 
Detecting WMI Exploitation v1.1
Detecting WMI Exploitation v1.1Detecting WMI Exploitation v1.1
Detecting WMI Exploitation v1.1
 
La primera pieza del ataque Footprinting
La primera pieza del ataque FootprintingLa primera pieza del ataque Footprinting
La primera pieza del ataque Footprinting
 
Linux Security, from Concept to Tooling
Linux Security, from Concept to ToolingLinux Security, from Concept to Tooling
Linux Security, from Concept to Tooling
 
Conexiones del ordenador
Conexiones del ordenadorConexiones del ordenador
Conexiones del ordenador
 
Software Utilitario
Software UtilitarioSoftware Utilitario
Software Utilitario
 
Trabalho Firewall
Trabalho FirewallTrabalho Firewall
Trabalho Firewall
 
GUIA DE HIREN BOOT CD
GUIA DE HIREN BOOT CDGUIA DE HIREN BOOT CD
GUIA DE HIREN BOOT CD
 
Sistema operativos para red
Sistema operativos para redSistema operativos para red
Sistema operativos para red
 
Características generales de norton antivirus
Características generales de norton antivirusCaracterísticas generales de norton antivirus
Características generales de norton antivirus
 
Metodologia rup
Metodologia rupMetodologia rup
Metodologia rup
 
File permissions
File permissionsFile permissions
File permissions
 
Linux systems - Linux Commands and Shell Scripting
Linux systems - Linux Commands and Shell ScriptingLinux systems - Linux Commands and Shell Scripting
Linux systems - Linux Commands and Shell Scripting
 
presentacion de linux.pptx
presentacion de linux.pptxpresentacion de linux.pptx
presentacion de linux.pptx
 
Dicas e Princípios Básicos do Linux
Dicas e Princípios Básicos do LinuxDicas e Princípios Básicos do Linux
Dicas e Princípios Básicos do Linux
 
Metodologias rup
Metodologias rupMetodologias rup
Metodologias rup
 
Presentación Sistema OPerativo Linux
Presentación Sistema OPerativo  Linux Presentación Sistema OPerativo  Linux
Presentación Sistema OPerativo Linux
 

Semelhante a Oficina de Python para iniciantes

Python Introdução e Orientação a Objetos.pdf
Python Introdução e Orientação a Objetos.pdfPython Introdução e Orientação a Objetos.pdf
Python Introdução e Orientação a Objetos.pdfMarioAthayde
 
Microfundamento - Algoritmos e Lógica de Programação (1).pdf
Microfundamento - Algoritmos e Lógica de Programação (1).pdfMicrofundamento - Algoritmos e Lógica de Programação (1).pdf
Microfundamento - Algoritmos e Lógica de Programação (1).pdfFelipeSoares580387
 
Oficina: Introdução à programação com Python e seus recursos: algoritmos e ló...
Oficina: Introdução à programação com Python e seus recursos: algoritmos e ló...Oficina: Introdução à programação com Python e seus recursos: algoritmos e ló...
Oficina: Introdução à programação com Python e seus recursos: algoritmos e ló...Jackson Meires
 
Minicurso de Django - Desenvolvimento ágil web com Django e Python
Minicurso de Django - Desenvolvimento ágil web com Django e PythonMinicurso de Django - Desenvolvimento ágil web com Django e Python
Minicurso de Django - Desenvolvimento ágil web com Django e PythonGuilherme Garcia
 
Minicurso-Python-01.pptx
Minicurso-Python-01.pptxMinicurso-Python-01.pptx
Minicurso-Python-01.pptxPapirusDig
 
Codelab - Actions on Google
Codelab - Actions on GoogleCodelab - Actions on Google
Codelab - Actions on GoogleAlvaro Viebrantz
 
Introdução à MEAN Stack
Introdução à MEAN StackIntrodução à MEAN Stack
Introdução à MEAN StackBruno Catão
 
Curso C# em Mono - Orientação a Objeto Basico
Curso C# em Mono - Orientação a Objeto BasicoCurso C# em Mono - Orientação a Objeto Basico
Curso C# em Mono - Orientação a Objeto BasicoAlessandro Binhara
 
Grails parte 1 - introdução
Grails   parte 1 - introduçãoGrails   parte 1 - introdução
Grails parte 1 - introduçãoJosino Rodrigues
 
Minicurso de PHP para iniciantes - Mario Araujo Xavier
Minicurso de PHP para iniciantes - Mario Araujo XavierMinicurso de PHP para iniciantes - Mario Araujo Xavier
Minicurso de PHP para iniciantes - Mario Araujo XavierPotiLivre Sobrenome
 
[GUTS-RS] Evento Abril 2018 - Qualidade de código para automação de testes
[GUTS-RS] Evento Abril 2018 - Qualidade de código para automação de testes[GUTS-RS] Evento Abril 2018 - Qualidade de código para automação de testes
[GUTS-RS] Evento Abril 2018 - Qualidade de código para automação de testesGUTS-RS
 
Estripando o Elefante - (Trabalhando com extensões no PostgreSQL)
Estripando o Elefante - (Trabalhando com extensões no PostgreSQL)Estripando o Elefante - (Trabalhando com extensões no PostgreSQL)
Estripando o Elefante - (Trabalhando com extensões no PostgreSQL)Dickson S. Guedes
 
Programação Orientada a Testes
Programação Orientada a TestesProgramação Orientada a Testes
Programação Orientada a TestesGregorio Melo
 
Pog Nunca Mais - Técnicas e Macetes para o Desenvolvimento em PHP
Pog Nunca Mais - Técnicas e Macetes para o Desenvolvimento em PHPPog Nunca Mais - Técnicas e Macetes para o Desenvolvimento em PHP
Pog Nunca Mais - Técnicas e Macetes para o Desenvolvimento em PHPPaulino Michelazzo
 
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop Python
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop PythonIEEEweek 2017 @ DETI Univ. Aveiro - Workshop Python
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop PythonDiogo Gomes
 

Semelhante a Oficina de Python para iniciantes (20)

Python Introdução e Orientação a Objetos.pdf
Python Introdução e Orientação a Objetos.pdfPython Introdução e Orientação a Objetos.pdf
Python Introdução e Orientação a Objetos.pdf
 
Microfundamento - Algoritmos e Lógica de Programação (1).pdf
Microfundamento - Algoritmos e Lógica de Programação (1).pdfMicrofundamento - Algoritmos e Lógica de Programação (1).pdf
Microfundamento - Algoritmos e Lógica de Programação (1).pdf
 
Oficina: Introdução à programação com Python e seus recursos: algoritmos e ló...
Oficina: Introdução à programação com Python e seus recursos: algoritmos e ló...Oficina: Introdução à programação com Python e seus recursos: algoritmos e ló...
Oficina: Introdução à programação com Python e seus recursos: algoritmos e ló...
 
Python 01
Python 01Python 01
Python 01
 
Minicurso de Django - Desenvolvimento ágil web com Django e Python
Minicurso de Django - Desenvolvimento ágil web com Django e PythonMinicurso de Django - Desenvolvimento ágil web com Django e Python
Minicurso de Django - Desenvolvimento ágil web com Django e Python
 
Minicurso-Python-01.pptx
Minicurso-Python-01.pptxMinicurso-Python-01.pptx
Minicurso-Python-01.pptx
 
Codelab - Actions on Google
Codelab - Actions on GoogleCodelab - Actions on Google
Codelab - Actions on Google
 
Introducao Google GO
Introducao Google GOIntroducao Google GO
Introducao Google GO
 
Introdução à MEAN Stack
Introdução à MEAN StackIntrodução à MEAN Stack
Introdução à MEAN Stack
 
Curso C# em Mono - Orientação a Objeto Basico
Curso C# em Mono - Orientação a Objeto BasicoCurso C# em Mono - Orientação a Objeto Basico
Curso C# em Mono - Orientação a Objeto Basico
 
Grails parte 1 - introdução
Grails   parte 1 - introduçãoGrails   parte 1 - introdução
Grails parte 1 - introdução
 
Minicurso de PHP para iniciantes - Mario Araujo Xavier
Minicurso de PHP para iniciantes - Mario Araujo XavierMinicurso de PHP para iniciantes - Mario Araujo Xavier
Minicurso de PHP para iniciantes - Mario Araujo Xavier
 
[GUTS-RS] Evento Abril 2018 - Qualidade de código para automação de testes
[GUTS-RS] Evento Abril 2018 - Qualidade de código para automação de testes[GUTS-RS] Evento Abril 2018 - Qualidade de código para automação de testes
[GUTS-RS] Evento Abril 2018 - Qualidade de código para automação de testes
 
Estripando o Elefante - (Trabalhando com extensões no PostgreSQL)
Estripando o Elefante - (Trabalhando com extensões no PostgreSQL)Estripando o Elefante - (Trabalhando com extensões no PostgreSQL)
Estripando o Elefante - (Trabalhando com extensões no PostgreSQL)
 
Programação Orientada a Testes
Programação Orientada a TestesProgramação Orientada a Testes
Programação Orientada a Testes
 
Aula 3-lógica.pptx
Aula 3-lógica.pptxAula 3-lógica.pptx
Aula 3-lógica.pptx
 
Estrutura de dados 2
Estrutura de dados 2Estrutura de dados 2
Estrutura de dados 2
 
Pog Nunca Mais - Técnicas e Macetes para o Desenvolvimento em PHP
Pog Nunca Mais - Técnicas e Macetes para o Desenvolvimento em PHPPog Nunca Mais - Técnicas e Macetes para o Desenvolvimento em PHP
Pog Nunca Mais - Técnicas e Macetes para o Desenvolvimento em PHP
 
Python 02
Python 02Python 02
Python 02
 
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop Python
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop PythonIEEEweek 2017 @ DETI Univ. Aveiro - Workshop Python
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop Python
 

Mais de marioaxavier7

Dokuwiki e a superimportancia da documentacao na TI
Dokuwiki e a superimportancia da documentacao na TIDokuwiki e a superimportancia da documentacao na TI
Dokuwiki e a superimportancia da documentacao na TImarioaxavier7
 
Minicurso de PHP para iniciantes
Minicurso de PHP para iniciantesMinicurso de PHP para iniciantes
Minicurso de PHP para iniciantesmarioaxavier7
 
FOSSHUB e o desafio de implantar ferramentas livres no mercado corporativo
FOSSHUB e o desafio de implantar ferramentas livres no mercado corporativoFOSSHUB e o desafio de implantar ferramentas livres no mercado corporativo
FOSSHUB e o desafio de implantar ferramentas livres no mercado corporativomarioaxavier7
 
KDE Neon & KDE Plasma: venha para o KDE e ganhe experiencia profissional em TI
KDE Neon & KDE Plasma: venha para o KDE e ganhe experiencia profissional em TIKDE Neon & KDE Plasma: venha para o KDE e ganhe experiencia profissional em TI
KDE Neon & KDE Plasma: venha para o KDE e ganhe experiencia profissional em TImarioaxavier7
 
Oficina de Proxmox para iniciantes
Oficina de Proxmox para iniciantesOficina de Proxmox para iniciantes
Oficina de Proxmox para iniciantesmarioaxavier7
 
Software Livre no Banco do Brasil: como o BB economizou R$ 50 milhões de reai...
Software Livre no Banco do Brasil: como o BB economizou R$ 50 milhões de reai...Software Livre no Banco do Brasil: como o BB economizou R$ 50 milhões de reai...
Software Livre no Banco do Brasil: como o BB economizou R$ 50 milhões de reai...marioaxavier7
 
Minicurso de Servidor de Arquivos com Windows Server 2019
Minicurso de Servidor de Arquivos com Windows Server 2019Minicurso de Servidor de Arquivos com Windows Server 2019
Minicurso de Servidor de Arquivos com Windows Server 2019marioaxavier7
 
Microsoft e Linux: como e porque a Microsoft se aliou ao software livre
Microsoft e Linux: como e porque a Microsoft se aliou ao software livreMicrosoft e Linux: como e porque a Microsoft se aliou ao software livre
Microsoft e Linux: como e porque a Microsoft se aliou ao software livremarioaxavier7
 
Influencia do software livre no mercado de TI
Influencia do software livre no mercado de TIInfluencia do software livre no mercado de TI
Influencia do software livre no mercado de TImarioaxavier7
 

Mais de marioaxavier7 (10)

Dokuwiki e a superimportancia da documentacao na TI
Dokuwiki e a superimportancia da documentacao na TIDokuwiki e a superimportancia da documentacao na TI
Dokuwiki e a superimportancia da documentacao na TI
 
Linkedin Avancado
Linkedin AvancadoLinkedin Avancado
Linkedin Avancado
 
Minicurso de PHP para iniciantes
Minicurso de PHP para iniciantesMinicurso de PHP para iniciantes
Minicurso de PHP para iniciantes
 
FOSSHUB e o desafio de implantar ferramentas livres no mercado corporativo
FOSSHUB e o desafio de implantar ferramentas livres no mercado corporativoFOSSHUB e o desafio de implantar ferramentas livres no mercado corporativo
FOSSHUB e o desafio de implantar ferramentas livres no mercado corporativo
 
KDE Neon & KDE Plasma: venha para o KDE e ganhe experiencia profissional em TI
KDE Neon & KDE Plasma: venha para o KDE e ganhe experiencia profissional em TIKDE Neon & KDE Plasma: venha para o KDE e ganhe experiencia profissional em TI
KDE Neon & KDE Plasma: venha para o KDE e ganhe experiencia profissional em TI
 
Oficina de Proxmox para iniciantes
Oficina de Proxmox para iniciantesOficina de Proxmox para iniciantes
Oficina de Proxmox para iniciantes
 
Software Livre no Banco do Brasil: como o BB economizou R$ 50 milhões de reai...
Software Livre no Banco do Brasil: como o BB economizou R$ 50 milhões de reai...Software Livre no Banco do Brasil: como o BB economizou R$ 50 milhões de reai...
Software Livre no Banco do Brasil: como o BB economizou R$ 50 milhões de reai...
 
Minicurso de Servidor de Arquivos com Windows Server 2019
Minicurso de Servidor de Arquivos com Windows Server 2019Minicurso de Servidor de Arquivos com Windows Server 2019
Minicurso de Servidor de Arquivos com Windows Server 2019
 
Microsoft e Linux: como e porque a Microsoft se aliou ao software livre
Microsoft e Linux: como e porque a Microsoft se aliou ao software livreMicrosoft e Linux: como e porque a Microsoft se aliou ao software livre
Microsoft e Linux: como e porque a Microsoft se aliou ao software livre
 
Influencia do software livre no mercado de TI
Influencia do software livre no mercado de TIInfluencia do software livre no mercado de TI
Influencia do software livre no mercado de TI
 

Oficina de Python para iniciantes

  • 1. Python para iniciantes Mário Araújo Xavier Sistemas de Informação – UnP marioaxavier7@gmail.com
  • 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/
  • 9. Ambiente de desenvolvimento • IDE online para Python, Java, PHP, Ruby, Lua, Javascript, C++, etc
  • 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)
  • 13. Comentários e Docstrings #comentario de 1 linha “”” docstring comentario de varias linhas ”””
  • 14. Operadores de atribuição A = 1 x = “boa tarde!” n1 = 1000 print(a) print(x) print(n1)
  • 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])
  • 17. Strings #tamanho da string print(len(pizza01)) #substituir letras ou strings print(pizza02.replace(“Quatro”,“Cinco”)) #tudo minusculo print(pizza03.lower()) print(nome.lower().capitalize()) #tudo maiusculo print(pizza01.upper())
  • 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])
  • 25. Listas #tamanho da lista print(len(pizzas)) #acrescentar no final da lista pizzas.append(“mussarela”) #inserir em uma posição da lista pizzas.insert(3, “frango com catupiry” #remover item da lista pizzas.remove(“calabresa”)
  • 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;
  • 29. Tuplas • Estruturas de armazenamento com itens não-ordenados e não alteráveis
  • 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:
  • 43. Operadores de comparação Igualdade: a == b Diferença: a != b Menor que: a < b Menor igual: a <= b Maior que: a > b Menor que: a >= b
  • 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.
  • 66. Python para iniciantes Mário Araújo Xavier Sistemas de Informação – UnP marioaxavier7@gmail.com