1
resposta

[Projeto] Desafio - Hora da Prática

Parte 2

# 8) Para uma seleção de produtos alimentícios, precisamos separar o conjunto de IDs dados por números inteiros sabendo que os produtos com ID par são doces e os com ID ímpar são amargos. Monte um código que colete 10 IDs. Depois, calcule e mostre a quantidade de produtos doces e amargos.
par = 0
impar = 0
ids_coletados = []

while len(ids_coletados) < 10:
  id_produto = int(input('Digite 1 ID (de 1 a 10): '))

  if id_produto < 1 or id_produto > 10:
    print(f'ID inválido! Digite outro ID!')
    continue
   
  if id_produto in ids_coletados:
    print(f'ID já coletado, insira outro ID!')
    continue

  ids_coletados.append(id_produto)
  if id_produto % 2 == 0:
    par += 1
  else:
    impar += 1

print(f'Existem {par} produtos doces')
print(f'Existem {impar} produtos amargos')

Digite 1 ID (de 1 a 10): 1
Digite 1 ID (de 1 a 10): 11
ID inválido! Digite outro ID!
Digite 1 ID (de 1 a 10): 0
ID inválido! Digite outro ID!
Digite 1 ID (de 1 a 10): 1
ID já coletado, insira outro ID!
Digite 1 ID (de 1 a 10): 2
Digite 1 ID (de 1 a 10): 3
Digite 1 ID (de 1 a 10): 4
Digite 1 ID (de 1 a 10): 5
Digite 1 ID (de 1 a 10): 6
Digite 1 ID (de 1 a 10): 7
Digite 1 ID (de 1 a 10): 8
Digite 1 ID (de 1 a 10): 9
Digite 1 ID (de 1 a 10): 10
Existem 5 produtos doces
Existem 5 produtos amargos

# 9) Desenvolva um programa que informa a nota de um(a) aluno(a) de acordo com suas respostas. Ele deve pedir a resposta desse(a) aluno(a) para cada questão e é preciso verificar se a resposta foi igual ao gabarito. Cada questão vale um ponto e existem as alternativas A, B, C ou D.
lista_usuario = []
lista_respostas = ['D', 'A', 'C', 'B', 'A', 'D', 'C', 'C', 'A', 'B']
pontuacao = 0

for n in range(10):
  resposta = input(f'Insira a resposta da questão {n+1}: ').upper()
  
  if resposta not in ['A', 'B', 'C', 'D']:
    print(f'Resposta inválida, digite A, B, C ou D')
    continue  
  lista_usuario.append(resposta)

  if resposta == lista_respostas[n]:
    pontuacao += 1

print(f'O aluno fez {pontuacao} ponto(s)')
print(f'\nSegue as respostas do aluno: {lista_usuario}')

Insira a resposta da questão 1: a
Insira a resposta da questão 2: b
Insira a resposta da questão 3: c
Insira a resposta da questão 4: b
Insira a resposta da questão 5: a
Insira a resposta da questão 6: d
Insira a resposta da questão 7: c
Insira a resposta da questão 8: b
Insira a resposta da questão 9: a
Insira a resposta da questão 10: a
O aluno fez 6 ponto(s)

Segue as respostas do aluno: ['A', 'B', 'C', 'B', 'A', 'D', 'C', 'B', 'A', 'A']

# 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 temperaturas médias em uma lista. Depois, calcule a média anual das temperaturas e mostre todas as temperaturas acima da média anual e em que mês elas ocorreram, mostrando os meses por extenso (Janeiro, Fevereiro, etc.).
lista_temp = []
meses = ['Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro']

for n in range(12):
  temperatura = int(input(f'Insira a temperatura do mês {n+1}: '))
  lista_temp.append(temperatura)

media = sum(lista_temp) / 12
print(f'A média anual de temperatura é: {media:.2f}')

for indice, temperatura in enumerate(lista_temp):
  if temperatura > media:
    print(f'\n{meses[indice]} teve temperatura acima da média: {temperatura}°C')

Insira a temperatura do mês 1: 35
Insira a temperatura do mês 2: 23
Insira a temperatura do mês 3: 14
Insira a temperatura do mês 4: 21
Insira a temperatura do mês 5: 24
Insira a temperatura do mês 6: 19
Insira a temperatura do mês 7: 18
Insira a temperatura do mês 8: 20
Insira a temperatura do mês 9: 17
Insira a temperatura do mês 10: 23
Insira a temperatura do mês 11: 21
Insira a temperatura do mês 12: 22
A média anual de temperatura é: 21.42

Janeiro teve temperatura acima da média: 35°C

Fevereiro teve temperatura acima da média: 23°C

Maio teve temperatura acima da média: 24°C

Outubro teve temperatura acima da média: 23°C

Dezembro teve temperatura acima da média: 22°C

# 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:
{'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.
valor = {'Produto A': 300, 'Produto B': 80, 'Produto C': 60, 'Produto D': 200, 'Produto E': 250, 'Produto F': 30}

soma = sum(valor.values())
print(f'O total de vendas é: R$ {soma:.2f}')

mais_vendido = max(valor, key=valor.get)
print(f'O produto mais vendido é: {mais_vendido} no valor de R$ {valor[mais_vendido]}')

O total de vendas é: R$ 920.00
O produto mais vendido é: Produto A no valor de R$ 300
1 resposta

Oi, Barbara! Como vai?

Agradeço por compartilhar essa segunda parte do seu projeto com a comunidade Alura.

Você organizou muito bem a lógica dos exercícios e conseguiu aplicar estruturas como laços, validações, condicionais e dicionários com clareza. Isso mostra que você está dominando bem os fundamentos do Python.

Veja uma pequena sugestão no exercício 11 para formatar os nomes dos produtos em ordem do mais vendido ao menos vendido, caso você queira explorar mais:



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

ordenados = sorted(valor.items(), key=lambda x: x[1], reverse=True)

print('Ranking dos produtos mais vendidos:')
for produto, quantidade in ordenados:
    print(f'{produto}: R$ {quantidade}')

Esse código mostra os produtos em ordem decrescente de vendas, o que pode ser útil para análises mais visuais.

Muito bom seu desempenho! Continue praticando com essa dedicação.

Espero ter ajudado. Conte com o apoio do Fórum na sua jornada.

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