Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] Pedido de sugestão para realização de exercícios e aprendizado

Bom dia. Tudo bem?

Tenho encontrado muita dificuldade em praticar os exercícios ao final de cada capítulo. O motivo se dá porque o que é passado em aula é algo muito simples perto da complexidade que os exercícios da Hora da Prática pedem para eu fazer.

Como não estou acostumado a essa dinâmica, venho aqui humildemente pedir algumas dicas de como melhor absorver o conteúdo do curso, considerando que sou um leigo em programação e esse é meu primeiro contato com isso.Quando vou praticar o que aprendi em aula e em cada questão, eu fico mais de hora para tentar entender, geralmente cedendo à opinião do instrutor para saber a resposta.

Um exemplo mais recente se dá na Questão 11 da Hora dos Projetos da Aula 5.

Quero aproveitar ao máximo o conteúdo e solidificar meus conhecimentos.

Obrigado.

2 respostas
solução!

Eu entendo bem como você se sente, e vou te ajudar nisso. Isso é normal, inclusive no mercado de trabalho, onde nem sempre vamos lidar com tarefas de código que já conhecemos. Nessas horas, tanto nos estudos quanto no trabalho, é importante seguir alguns passos que ajudam muito:

  • Leia o problema com atenção
  • Quebre-o em partes menores
  • Escreva a teoria de como você resolveria o problema
  • Separe o que você já sabe do que precisa pesquisar

Sobre a melhor forma de absorver o conteúdo, cada pessoa aprende de um jeito. No meu caso, eu fixo melhor quando coloco a mão na massa, escrevo sobre o assunto ou explico para alguém o que aprendi. Essas são estratégias que você pode experimentar e ver qual funciona melhor pra você.

Agora, sobre a questão 11, podemos resolver juntos, passo a passo, quebrando em partes menores para entender como podemos organizar e transformar isso em código. Vem comigo!

Enunciado:

Uma empresa de e-commerce está interessada em analisar as vendas dos seus produtos. Os dados das vendas foram armazenados em um dicionário:

{'Produto A': 300, 'Produto B': 80, 'Produto C': 60,
 'Produto D': 200, 'Produto E': 250, 'Produto F': 30}

Escreva um código que calcule o total de vendas e o produto mais vendido.

Objetivo do problema: O objetivo é extrair duas informações a partir de um dicionário de vendas:

  • O total de unidades vendidas somando todos os produtos.
  • O produto mais vendido, ou seja, aquele com o maior número de unidades.

Partes menores (teoria)

  • Ler os dados do dicionário: já estão prontos, não precisamos tratar entradas.
  • Calcular o total de vendas: Somar todos os valores do dicionário.
  • Encontrar o produto mais vendido: e aqui pode vir a dúvida - como encontro a chave que tem maior valor em um dicionário? Aqui viriam pesquisas, no Google mesmo ou até usando a IA se prefeir. Vou te diantar e dizer que podemos percorrer através de um loop for ou então, usar a função max que nos mostra o elemento de maior valor de um conjunto de dados.
  • Exibir os resultados

Transformando teoria em código

# Dicionário com os dados de vendas
vendas = {
    'Produto A': 300,
    'Produto B': 80,
    'Produto C': 60,
    'Produto D': 200,
    'Produto E': 250,
    'Produto F': 30
}

# 1. Calcular o total de vendas
total_vendas = sum(vendas.values())

# 2. Encontrar o produto mais vendido
produto_mais_vendido = max(vendas, key=vendas.get)
quantidade_mais_vendida = vendas[produto_mais_vendido]

# 3. Exibir os resultados
print(f"Total de vendas: {total_vendas}")
print(f"Produto mais vendido: {produto_mais_vendido} ({quantidade_mais_vendida} unidades)")

A função max(iterável, key=função) retorna o maior elemento do iterável, baseado no resultado da função passada como key. Neste caso vendas é um dicionário, então quando usamos ele como iterável, estamos iterando pelas chaves (ou seja: 'Produto A', 'Produto B'...). A função usada como key é vendas.get. É como se estivéssemos fazendo isso internamente:

# Para cada chave do dicionário, o max vai comparar:
vendas.get('Produto A')  # 300
vendas.get('Produto B')  # 80
vendas.get('Produto C')  # 60
...

Ou seja, o max() vai escolher a chave cujo valor retornado por vendas.get(chave) for o maior.

Nessa lógica, utilizamos várias funções prontas do Python. Para conhecer e aplicar essas funções, é preciso pesquisar e ler bastante. Costumo dizer que isso é uma característica da área de tecnologia: estamos sempre aprendendo e estudando todos os dias. Continue persistindo e, com o tempo, você verá o quanto o processo fica melhor.

Fico à disposição! E se precisar, conte sempre com o apoio do fórum. Abraço e bons estudos!

AluraConte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!

Bom saber que esse processo vai ser uma parte do meu dia-a-dia. Alivia a cobrança de macetar a questão com uma solução e isso ser o indicativo de que estou aprendendo. Pois bem, acho que seguindo sua lógica ali, creio que passarei menos tempo nas horas da prática e o conhecimento deve fluir mais rápido. Obrigado!