Ir ao conteúdo
  • Cadastre-se

Python Desenvolvimento de exercício de dicionário e função set


Ir à solução Resolvido por Midori,

Posts recomendados

@Felipe2719  Crie a função com os parâmetros, p.ex,

def dicionario(produtos, pedidos):

 

Passe os dicionários como argumento para a função e faça a verificação com set como explicado no enunciado,

set_chaves = set(pedidos.keys()) - set(produtos.keys())

 

Para saber se todas as chaves são válidas verifique set_chaves com a função len, se for diferente de zero é porque tem chave inválida.

 

Para o cálculo do total gasto pode usar o for no dicionário dos pedidos assim,

for dicionario_pedido in pedidos.items():

 

O índice 0 de dicionario_pedido é a chave e a quantidade é o 1, use essa chave no dicionário dos produtos para pegar os preços.

 

  • Curtir 1
Link para o post
Compartilhar em outros sites

@Midori Tô com uma dúvida na hr de fazer o cálculo do gasto total.

Por ex , se tiver :

#Pedidos 
{...,'caneta':5}
#Produtos
{...,'caneta':2.4}

 

Eu teria que fazer a multiplicação 5*2.4, certo ?

Mas não tô sabendo fazer isso no dicionário

Link para o post
Compartilhar em outros sites
  • Solução

@Felipe2719 Para calcular o gasto acumule a soma da multiplicação do valor pela quantidade, é como comentei onde você usa o índice no dicionário do pedido assim,

soma += produtos[dicionario_pedido[0]] * dicionario_pedido[1]

 

Em pedido[0] a chave é passada para o dicionário dos produtos para retornar o valor e assim multiplicar pela quantidade [1].

  • Obrigado 1
Link para o post
Compartilhar em outros sites

@Midori Obrigado mais uma vez, agora entendi.

Não tem ideia de como tá me ajudando, se não fosse você já tinha trancado Computação 1 a muito tempo kkkk.

Só gostaria de entender melhor a parte do for

... in pedidos.items():

percebi que se eu colocar só 'in pedidos:' ele dá erro. qual seria a diferença ?

 

Link para o post
Compartilhar em outros sites
4 horas atrás, Felipe2719 disse:

percebi que se eu colocar só 'in pedidos:' ele dá erro. qual seria a diferença ?

Assim só vai retornar a chave dos pedidos (nesse caso uma string), aí na parte que seu código faz dicionario_pedido[] vai pegar apenas uma letra dela. O erro vai acontecer quando tentar calcular e usar esse retorno como chave do outro dicionário. Da outra forma com o método items() retorna a chave e do valor dela como uma tupla.

  • Curtir 1
Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Redes-Wi-Fi-capa-3d-newsletter.png

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!