












Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Este documento, apresentado pelo professor tatiana renata garcia, introduz o conceito de dicionários em python, suas características, criação e métodos para manipulação. Além disso, é fornecido um exemplo de cadastro de clientes e uma solução para o gerenciamento de um estoque de vinhos utilizando dicionários.
Tipologia: Exercícios
1 / 20
Esta página não é visível na pré-visualização
Não perca as partes importantes!













Dicionários
^ São estruturas de dados que implementam
mapeamentos
^ Um mapeamento é uma coleção de associações entrepares de valores^
O primeiro elemento do par é chamado de
chave
e o
outro de
conteúdo
^ De certa forma, um mapeamento é uma generalização daidéia de acessar dados por índices, exceto que nummapeamento os índices (ou chaves) podem ser dequalquer tipo
imutável
Exemplo
>>> dic = {"joao":100,"maria":150}>>> dic["joao"] 100 >>> dic["maria"] 150 >>> dic["pedro"] = 10>>> dic{'pedro': 10, 'joao': 100, 'maria': 150}
Dicionários não têm ordem
^ As chaves dos dicionários não são armazenadas emqualquer ordem específica^
Na verdade, dicionários são implementados por tabelasde espalhamento (
Hash Tables
)
^ A falta de ordem é proposital Diferentemente de listas, atribuir a um elemento de umdicionário não requer que a posição exista previamente X = []X [10] = 5
.. .Y = {}Y [10] = 5
Métodos para usar dicionários
Métodos para usar dicionários
Métodos para usar dicionários
^ has_key
( chave
)
^ dic.has_key(
chave
)^ é o mesmo que
chave
in dic
^ Devolve True quando a chave existe >>> dic = { "Joao":"a", "Maria":"b" }>>> dic.has_key("Joao")True>>> dic.has_key("Pedro")False
Métodos para usar dicionários
^ items()
retorna uma lista com todos os pares chave/conteúdo do dicionário keys()
retorna uma lista com todas as chaves do dicionário values()
retorna uma lista com todos os valores do dicionário
Métodos para usar dicionários
^ pop
(chave) Obtém o valor correspondente a chave e
remove o par
chave/valor do dicionário Ex.: >>> d = {'x': 1, 'y': 2}>>> d.pop('x') 1 >>> d{'y': 2}
Solução
^ É preciso decidir que estrutura de dados vai armazenar ocadastro dos vinhos:
-^
Dicionário com código sequencial
-^
Os dados de cada vinho são armazenados em listas
^ Depois de criar o cadastro é preciso desenvolver a lógica parao usuário pesquisar os dados no dicionário e buscar asinformações desejadas
-^
É preciso definir códigos para as opções paraimplementar o laço de repetição
-^
As operações são permitidas após criar o cadastro
Sistema
de^
gerenciamento
de^ vinhos
dic^ =
#dicionario
vazio
cod^ =
0 #o
codigo
do^
produto
e^ um
numero
sequencial
continuar
while
continuar
lista
cod^
=^ cod+ print
"Insira
informacoes
sobre
o^ produto"
nome
=^ raw_input("Nome
do^ vinho:
lista.append(nome)tipo
=^ raw_input("Tipo
do^ vinho
-^ tinto,
branco
ou^
rose:
lista.append(tipo)pais
=^ raw_input("Pais
de^ origem
-^ F(Franca),
C(Chile),
B(Brasil)
ou^ O^
(outro):
lista.append(pais)
#^ opcoes
de^ operacoes
para
o^ usuario
ver
as^ quantidades,
buscar
nome
do^
vinho
pelo
codigo,
-^ dar
baixa
no^ estoque,
sair'
opcao
=^ raw_input() while
opcao
if^ opcao
total_tinto
total_branco
total_rose
for^ i
in^ range(1,cod+1):if^ "tinto"
in^
dic[i]: total_tinto
=^ total_tinto
+^ dic[i][4]
elif
"branco"
in^
dic[i]:
total_branco
=^ total_branco+dic[i][4]
elif
"rose"
in^
dic[i]: total_rose
=^ total_rose
+^ dic[i][4]
total_tinto,
total_branco,
total_rose
elif
opcao
x^ =^ input('Digite
codigo
do^ vinho:
"Nome
do^ vinho:
",^ dic[x][0]
elif
opcao
y^ =^ input('Digite
código
do^ vinho
que
foi^
comprado:
z^ =^ input('Digite
quantidade
vendida')
if^ z^
<=^ dic[y][4]:dic[y][4]=
dic[y][4]
-^ z
"Quantidade
atual:
dic[y][4]
else:print
'Nao
existe
a^ quantidade
desejada
em^
estoque'
-^ ver
as^
quantidades,
buscar
nome
do^ vinho
pelo
codigo,
dar^
baixa
no^ estoque,
sair'
opcao
=^ raw_input() #############
Fim^
do^ programa