-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathex25.py
More file actions
72 lines (45 loc) · 1.74 KB
/
ex25.py
File metadata and controls
72 lines (45 loc) · 1.74 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
'''
Você foi encarregado de desenvolver uma nova feature para um sistema de gestão de supermercados.
O analista responsável descreveu o requisito funcional da seguinte forma:
- Para realizar um cálculo de custo, o sistema deverá permitir filtrar um determinado conjunto de produtos,
de modo que apenas aqueles cujo valor unitário for superior à média deverão estar presentes no resultado. Vejamos o exemplo:
Conjunto de produtos (entrada):
Arroz: 4.99
Feijão: 3.49
Macarrão: 2.99
Leite: 3.29
Pão: 1.99
Produtos com valor acima da média:
Arroz: 4.99
Feijão: 3.49
Observe que estamos definindo a assinatura de uma função como parte de sua resposta. Você não pode mudá-la, apenas codificar seu corpo.
O parâmetro conteudo é um dicionário cuja chave contém o nome do produto e o valor, o respectivo preço (ponto flutuante).
Observe um exemplo de valor para conteudo:
{
"arroz": 4.99,
"feijão": 3.49,
"macarrão": 2.99,
"leite": 3.29,
"pão": 1.99
}
O retorno da função obrigatoriamente deve ser uma lista. Cada elemento da lista é uma tupla em que a primeira posição contém o nome do produto e a segunda, o respectivo preço.
Veja um exemplo de retorno:
[
('feijão', 3.49),
('arroz', 4.99)
]
Importante: O retorno da função deve estar ordenado pelo preço do item (ordem crescente).
'''
def maiores_que_media(conteudo:dict)->list:
media = sum(conteudo.values()) / len(conteudo)
maiores = [(chave, valor) for chave, valor in sorted(conteudo.items(), key=lambda item: item[1]) if valor >= media]
return maiores
produtos = {
"arroz": 4.99,
"feijão": 3.49,
"macarrão": 2.99,
"leite": 3.29,
"pão": 1.99
}
maiores = maiores_que_media(produtos)
print(maiores)