-
Notifications
You must be signed in to change notification settings - Fork 165
/
Copy pathaula111.py
61 lines (44 loc) · 1.07 KB
/
aula111.py
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
# map, partial, GeneratorType e esgotamento de Iterators
from functools import partial
from types import GeneratorType
# map - para mapear dados
def print_iter(iterator):
print(*list(iterator), sep='\n')
print()
produtos = [
{'nome': 'Produto 5', 'preco': 10.00},
{'nome': 'Produto 1', 'preco': 22.32},
{'nome': 'Produto 3', 'preco': 10.11},
{'nome': 'Produto 2', 'preco': 105.87},
{'nome': 'Produto 4', 'preco': 69.90},
]
def aumentar_porcentagem(valor, porcentagem):
return round(valor * porcentagem, 2)
aumentar_dez_porcento = partial(
aumentar_porcentagem,
porcentagem=1.1
)
# novos_produtos = [
# {**p,
# 'preco': aumentar_dez_porcento(p['preco'])}
# for p in produtos
# ]
def muda_preco_de_produtos(produto):
return {
**produto,
'preco': aumentar_dez_porcento(
produto['preco']
)
}
novos_produtos = list(map(
muda_preco_de_produtos,
produtos
))
print_iter(produtos)
print_iter(novos_produtos)
print(
list(map(
lambda x: x * 3,
[1, 2, 3, 4]
))
)