1
resposta

Praticando - Parte 3

Questão 10: Estudo de Temperatura Média Mensal
Código
Python

10) Um instituto de meteorologia deseja fazer um estudo de temperatura média de cada mês do ano. Para isso, você precisa fazer um código que colete e armazene essas

Coletamos a lista de temperaturas

temperaturas_mensais = []
for i in range(0,12):
temperaturas_mensais.append(float(input(f'Digite a média de temperatura do mês {i+1}: ')))

Criamos uma lista auxiliar para os nomes dos meses

meses = ['Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro']

Calculamos a média

media_anual = sum(temperaturas_mensais) / len(temperaturas_mensais)

#Resultado
print('Temperaturas acima da média em: ')
for i in range(0,12):
# Verificamos todas as temperaturas de acordo com a média anual
if temperaturas_mensais[i] > media_anual:
# Como os índices dos meses correspondem às temperaturas,
# podemos imprimir eles sob o mesmo índice
print(meses[i])
Execução / Resultado
Plaintext
Digite a média de temperatura do mês 1: 34
Digite a média de temperatura do mês 2: 25
Digite a média de temperatura do mês 3: 39
Digite a média de temperatura do mês 4: 40
Digite a média de temperatura do mês 5: 14
Digite a média de temperatura do mês 6: 15
Digite a média de temperatura do mês 7: 67
Digite a média de temperatura do mês 8: 10
Digite a média de temperatura do mês 9: 37
Digite a média de temperatura do mês 10: 79
Digite a média de temperatura do mês 11: 12
Digite a média de temperatura do mês 12: 22
Temperaturas acima da média em:
Janeiro
Março
Abril
Julho
Setembro
Outubro
Questão 11: Análise de Vendas de E-commerce
Código
Python

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:

Copiar

{'Produto A': 300, 'Produto B': 80, 'Produto C': 60,

'Produto D': 200, 'Produto E': 250, 'Produto F': 30}

Dicionário de vendas

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

Inicializamos as variáveis

total_vendas = 0 # Irá somar todos as vendas
produto_mais_vendido = '' # Irá armazenar o nome do produto mais vendido
unidades_produto_mais_vendido = 0 # Irá armazenar a maior quantidade vendas

Percorremos os valores de chaves e elementos do dicionário

for produto in dados_vendas.keys():
# Somamos o total de vendas
total_vendas += dados_vendas[produto]
# Verificamos se valor de venda atual desing (dados_vendas[produto]) é maior que o valor armazenado em unidades_produto_mais_vendido
# Cada vez que dados_vendas[produto] superar o valor em unidades_produto_mais_vendido,
# a variável unidades_produto_mais_vendido vai ser igual à dados_vendas[produto], atribuindo um novo valor
# De forma similar, produto_mais_vendido também é substituído pelo produto atual
if dados_vendas[produto] > unidades_produto_mais_vendido:
unidades_produto_mais_vendido = dados_vendas[produto]
produto_mais_vendido = produto

Resultados

print(f'Total de vendas é {total_vendas}')
print(f'{produto_mais_vendido} é o mais vendido')
Execução / Resultado
Plaintext
Total de vendas é 920
Produto A é o mais vendido
Questão 12: Pesquisa de Mercado (Design de Marca)
Código
Python

12) Uma pesquisa de mercado foi feita para decidir qual design de marca infantil mais agrada as crianças. A pesquisa foi feita e o votos computados podem ser obser

'''
Tabela de votos da marca
Design 1 - 1334 votos
Design 2 - 982 votos
Design 3 - 1751 votos
Design 4 - 210 votos
Design 5 - 1811 votos
'''

Adapte os dados fornecidos para uma estrutura de dicionário. A partir dele, informe o design vencedor e a porcentagem de votos recebidos.

Adaptando os dados para um dicionário

votos_design = {
'Design 1': 1334,
'Design 2': 982,
'Design 3': 1751,
'Design 4': 210,
'Design 5': 1811
}

Encontrando o design vencedor

Usamos max() com um argumento key para encontrar o item com o maior valor

design_vencedor = max(votos_design, key=votos_design.get)
votos_vencedor = votos_design[design_vencedor]

Calculando o total de votos

total_votos = sum(votos_design.values())

Calculando a porcentagem de votos do vencedor

porcentagem_vencedor = (votos_vencedor / total_votos) * 100

Exibindo os resultados

print(f'O design vencedor é: {design_vencedor}')
print(f'Com {votos_vencedor} votos, representando {porcentagem_vencedor:.2f}% do total de votos.')
Execução / Resultado
Plaintext
O design vencedor é: Design 5
Com 1811 votos, representando 29.75% do total de votos.
Questão 13: Cálculo de Abono Salarial
Código
Python

1 resposta

Olá, Nicole. Como vai?

Mais uma sequência impecável de exercícios! A sua capacidade de traduzir os enunciados em soluções de código limpas, funcionais e bem comentadas é excelente. Suas respostas no console mostram que a lógica por trás de cada estrutura de dados foi aplicada com sucesso.

Analisando os seus códigos, preparei alguns complementos e truques nativos do Python que vão elevar ainda mais o nível do seu desenvolvimento. Vamos dar uma olhada:

1. Simplificando Loops com a função zip() (Questão 10)

Na questão 10, você usou a variável de controle i para iterar pelos índices de 0 a 11 e relacionar a lista de temperaturas com a lista de meses. Essa abordagem funciona perfeitamente!

No entanto, o Python possui uma função fantástica chamada zip(), que serve justamente para "juntar" duas ou mais listas que possuem o mesmo tamanho, permitindo que você percorra os elementos delas em paralelo sem precisar se preocupar com índices numéricos. Veja como o seu loop final ficaria mais elegante:

print('Temperaturas acima da média em: ')
for mes, temp in zip(meses, temperaturas_mensais):
    if temp > media_anual:
        print(mes)

2. Iterando em Dicionários de forma direta (Questão 11)

Na questão 11, você utilizou dados_vendas.keys() para percorrer o dicionário e, dentro do loop, buscou o valor digitando dados_vendas[produto].

Uma boa prática em Python para tornar o código mais limpo é usar o método .items(). Ele entrega, ao mesmo tempo, a chave e o valor de cada linha do dicionário dentro do próprio for. O seu código poderia ser simplificado assim:

# Percorremos chaves e valores simultaneamente com .items()
for produto, vendas in dados_vendas.items():
    total_vendas += vendas
    
    if vendas > unidades_produto_mais_vendido:
        unidades_produto_mais_vendido = vendas
        produto_mais_vendido = produto

Dessa forma, você evita ter que ficar acessando o dicionário por chave a todo momento, deixando a leitura bem mais fluida.

3. Excelente uso da função max() com key (Questão 12)

Na questão 12, você deu um show de "Pythonic Code" (código que usa o melhor dos recursos nativos da linguagem) ao aplicar max(votos_design, key=votos_design.get). Essa é exatamente a melhor forma de encontrar a chave com o maior valor dentro de um dicionário em Python, sem precisar construir loops manuais com if. Parabéns pela pesquisa e aplicação desse recurso!

Você está avançando muito rápido e absorvendo muito bem as boas práticas de manipulação de dados. Continue mantendo esse mesmo capricho nos próximos tópicos de Python!

Espero que possa ter lhe ajudado!