-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathex22.py
More file actions
28 lines (19 loc) · 926 Bytes
/
ex22.py
File metadata and controls
28 lines (19 loc) · 926 Bytes
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
'''
A função calcula_saldo recebe uma lista de tuplas, correspondendo a um conjunto de lançamentos bancários.
Cada lançamento é composto pelo seu valor (sempre positivo) e pelo seu tipo (C - crédito ou D - débito).
Abaixo apresentando uma possível entrada para a função.
lancamentos = [
(200,'D'),
(300,'C'),
(100,'C')
]
A partir dos lançamentos, a função deve calcular o valor final, somando créditos e subtraindo débitos. Na lista anterior, por exemplo, teríamos como resultado final 200.
Além de utilizar lambdas, você deverá aplicar, obrigatoriamente, as seguintes funções na resolução:
reduce (módulo functools)
map
'''
from functools import reduce
def calcula_saldo(lancamentos) -> float:
lista_valores = map(lambda x: x[0] if x[1] == 'C' else -x[0], lancamentos)
valor_final = reduce(lambda soma, valor: soma + valor, lista_valores)
return float(valor_final)