Crie um procedimento chamado listarPromocoesCaros que recebe como parâmetro a lista de produtos cadastrados e que deve apresentar todos os dados de produtos em promoção que estejam acima da média de preços dos produtos promocionais em ordem alfabética dos nomes do produtos ( 2,0 pontos)

Passo 1

Beleza, vamos resolver esse exercício juntos! A gente precisa criar um procedimento chamado listarPromocoesCaros. Esse procedimento vai receber uma lista de produtos e vai mostrar todos os produtos que estão em promoção e que têm preço acima da média dos preços dos produtos que estão em promoção. Além disso, a lista final vai estar organizada em ordem alfabética pelo nome dos produtos. Para isso, vamos precisar entender como filtrar os produtos em promoção, calcular a média dos preços desses produtos e depois ordenar a lista resultante.

Passo 2

Primeiro, vamos identificar quais produtos estão em promoção. Isso significa que, dentro da lista de produtos, vamos selecionar apenas aqueles que têm a flag de promoção ativa. Pra fazer isso, vamos percorrer cada produto da lista e verificar se ele está em promoção.

Passo 3

Depois de filtrar os produtos em promoção, precisamos calcular a média dos preços desses produtos. A média é calculada somando todos os preços dos produtos em promoção e dividindo pelo número total desses produtos. A fórmula da média é:
Média = sum preçosnúmero de produtos éçú

Passo 4

Com a média calculada, vamos agora selecionar os produtos que têm preço acima dessa média. Ou seja, dentro dos produtos que estão em promoção, vamos pegar só aqueles cujo preço é maior que a média que acabamos de calcular.

Passo 5

Agora que temos os produtos em promoção e que são mais caros que a média, vamos organizar essa lista em ordem alfabética pelo nome dos produtos. Isso facilita na hora de visualizar e entender quais produtos se destacam.

Passo 6

Finalmente, vamos apresentar todos os dados desses produtos selecionados. Isso pode incluir informações como nome, preço, descrição e qualquer outro dado relevante que esteja cadastrado na lista de produtos.

Passo 7

produtos_promocao = [produto for produto in lista_produtos if produto[‘em_promocao’]]
# Verificar se existem produtos em promoção para evitar divisão por zero
if not produtos_promocao:
    print("Não há produtos em promoção.")
    return

Passo 8

total_preco = sum(produto[‘preco’] for produto in produtos_promocao)
quantidade = len(produtos_promocao)
media_preco = total_preco / quantidade

Passo 9

produtos_acima_media = [produto for produto in produtos_promocao if produto[‘preco’] > media_preco]

Passo 10

produtos_ordenados = sorted(produtos_acima_media, key=lambda x: x[‘nome’])

Passo 11

for produto in produtos_ordenados:
print(f"Nome: {produto[‘nome’]}, Preço: R${produto[‘preco’]:.2f}, Descrição: {produto[‘descricao’]}")

Resposta

def listarPromocoesCaros(lista_produtos):

Exercícios relacionados