1
resposta

Desafio: hora da prática (Momento dos Projetos)

# Questão 7: Para um estudo envolvendo o nível de multiplicação de bactérias em uma colônia, foi...
# Lista com a quantidade de bactérias por dia
bacterias = [1.2, 2.1, 3.3, 5.0, 7.8, 11.3, 16.6, 25.1, 37.8, 56.9]

# Lista para armazenar os percentuais de crescimento
crescimento = []

# Calculando o percentual de crescimento
for i in range(1, len(bacterias)):
    percentual = 100 * (bacterias[i] - bacterias[i - 1]) / bacterias[i - 1]
    crescimento.append(round(percentual, 2))

# Exibindo os resultados
print(crescimento)
# Questão 8: Para uma seleção de produtos alimentícios, precisamos separar o conjunto de IDs dados...
# Contadores
doces = 0
amargos = 0

# Coletando 10 IDs
for i in range(10):
    id_produto = int(input(f"Digite o {i+1}º ID do produto: "))

    # Verificando se o ID é par ou ímpar
    if id_produto % 2 == 0:
        doces += 1
    else:
        amargos += 1

# Exibindo os resultados
print(f"Quantidade de produtos doces: {doces}")
print(f"Quantidade de produtos amargos: {amargos}")
# Questão 9: Desenvolva um programa que informa a nota de um aluno de acordo com suas respostas. Ele deve pedir a...
# Gabarito da prova
gabarito = ['D', 'A', 'C', 'B', 'A', 'D', 'C', 'C', 'A', 'B']

# Variável para contar os acertos
nota = 0

# Coletando as respostas do aluno
for i in range(10):
    resposta = input(f"Digite a resposta da questão {i+1}: ").upper()

    # Verificando se a resposta está correta
    if resposta == gabarito[i]:
        nota += 1

# Exibindo a nota final
print(f"Nota final do aluno: {nota}")
# Questão 10: Um instituto de meteorologia deseja fazer um estudo de temperatura média de cada...
# Lista com os meses do ano
meses = [
    "Janeiro", "Fevereiro", "Março", "Abril",
    "Maio", "Junho", "Julho", "Agosto",
    "Setembro", "Outubro", "Novembro", "Dezembro"
]

# Lista para armazenar as temperaturas
temperaturas = []

# Coletando as temperaturas médias
for mes in meses:
    temp = float(input(f"Digite a temperatura média de {mes}: "))
    temperaturas.append(temp)

# Calculando a média anual
media_anual = sum(temperaturas) / len(temperaturas)

# Exibindo a média anual
print(f"\nMédia anual das temperaturas: {media_anual:.2f}°C")

# Mostrando temperaturas acima da média anual
print("\nTemperaturas acima da média anual:")

for i in range(len(temperaturas)):
    if temperaturas[i] > media_anual:
        print(f"{meses[i]}: {temperaturas[i]:.2f}°C")
# Questão 11: Uma empresa de e-commerce está interessada em analisar as vendas dos seus produtos. Os dados das vendas foram armazenados em um dicionário:
# Dicionário com as vendas
vendas = {
    'Produto A': 300,
    'Produto B': 80,
    'Produto C': 60,
    'Produto D': 200,
    'Produto E': 250,
    'Produto F': 30
}

# Obtendo os valores das vendas
valores = list(vendas.values())

# Cálculos estatísticos
total_vendas = sum(valores)
media_vendas = total_vendas / len(valores)
maior_venda = max(valores)
menor_venda = min(valores)

# Encontrando produtos com maior e menor venda
produto_mais_vendido = max(vendas, key=vendas.get)
produto_menos_vendido = min(vendas, key=vendas.get)

# Produtos acima da média
acima_media = []

for produto, valor in vendas.items():
    if valor > media_vendas:
        acima_media.append(produto)

# Ordenando produtos por vendas
ranking = sorted(vendas.items(), key=lambda item: item[1], reverse=True)

# Exibindo resultados
print("=== RELATÓRIO ESTATÍSTICO DE VENDAS ===\n")

print(f"Total de vendas: {total_vendas}")
print(f"Média de vendas: {media_vendas:.2f}")

print(f"\nProduto mais vendido: {produto_mais_vendido} ({maior_venda} vendas)")
print(f"Produto menos vendido: {produto_menos_vendido} ({menor_venda} vendas)")

print("\nProdutos acima da média:")
for produto in acima_media:
    print(f"- {produto}")

print("\nRanking de vendas:")
for posicao, (produto, valor) in enumerate(ranking, start=1):
    print(f"{posicao}º lugar - {produto}: {valor} vendas")

# Percentual de participação nas vendas
print("\nParticipação percentual nas vendas:")
for produto, valor in vendas.items():
    percentual = (valor / total_vendas) * 100
    print(f"{produto}: {percentual:.2f}%")
1 resposta

Olá! Tudo bem?

Parabéns pela conclusão desta etapa do desafio! Você demonstrou um domínio excelente de Estruturas de Dados em Python, utilizando listas e dicionários para resolver problemas complexos de análise de dados de forma muito organizada.

Aqui estão os destaques técnicos das suas resoluções:

Análise das Questões

  • Questão 7 (Crescimento de Bactérias): O uso do range(1, len(bacterias)) foi perfeito para comparar o elemento atual com o anterior sem causar erro de índice. O cálculo do percentual e o uso de round(percentual, 2) são práticas essenciais em Data Science para manter a legibilidade dos resultados.
  • Questão 8 (Triagem de Produtos): Você utilizou o operador de módulo (% 2 == 0) de maneira eficiente para realizar a classificação binária entre "doces" (pares) e "amargos" (ímpares).
  • Questão 9 (Gabarito de Prova): O uso do método .upper() na entrada de dados é uma excelente prática de normalização, garantindo que a comparação com o gabarito funcione independentemente de o aluno digitar letras maiúsculas ou minúsculas.
  • Questão 10 (Meteorologia): Você estruturou muito bem a relação entre duas listas (meses e temperaturas). O filtro final para exibir apenas meses acima da média é a base para análises de anomalias climáticas.
  • Questão 11 (E-commerce): Esta foi a solução mais completa!
  • Dicionários: O uso de vendas.values() e vendas.items() mostra que você entende como extrair informações de estruturas de mapeamento.
  • Funções Estatísticas: O uso de max(), min() e sum() diretamente nos valores do dicionário otimiza o código.
  • Ranking: A utilização de sorted() com uma função lambda para ordenar por valor (e não por chave) é um recurso avançado e muito poderoso no Python.

Dica para o Futuro: Manipulação de Dicionários

Na Questão 11, você utilizou max(vendas, key=vendas.get) para encontrar o produto mais vendido. Essa é uma forma muito eficiente de retornar a chave que possui o maior valor. Continue explorando essas funções de ordem superior, pois elas facilitam muito a limpeza e organização de grandes conjuntos de dados.

Excelente progresso! Você está construindo uma base sólida para trabalhar com análise estatística e automação de relatórios.

Espero que possa ter lhe ajudado!