-
Notifications
You must be signed in to change notification settings - Fork 0
/
juros_comp.py
82 lines (65 loc) · 1.7 KB
/
juros_comp.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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
def ppv(x):
nx = x.replace(',', '.')
if nx.count('.') == 0:
fx = int(nx)
else:
fx = float(nx)
return fx
def msv(k):
mf = '{:.2f}'.format(k)
dec = mf[-2:]
intf = '{:,}'.format(int(k))
antes = str(intf).replace(',', '.')
fn = '{}{}{}'.format(antes, ',', dec)
return fn
def ciclo(m):
while True:
try:
v = ppv(str(input(m)))
return v
except ValueError:
print('\nVocê digitou um ou mais caracteres inválidos. '
'Digite apenas números, separando as casas decimais com ponto ou vírgula!\n')
continue
div = ('=' * 85)
print()
print(div)
print('{:^85}'.format('SIMULADOR DE JUROS COMPOSTOS'))
print(div)
print()
ii = ciclo('Digite o investimento inicial (digite 0 para nenhum): R$ ')
ad = ciclo('Digite o valor fixo que deseja depositar todo mês (digite 0 para nenhum)? R$ ')
jr = ciclo('Digite a porcentagem de rendimento mensal dos juros compostos: ')
anos = ciclo('Digite a quantidade de anos que quer deixar rendendo: ')
meses = int(anos * 12)
total = ii
dep = 0
for vezes in range(1, (meses + 1)):
dep += ad
total += (total * jr / 100)
total += ad
dep = dep + ii
jcom = total - dep
ii = msv(ii)
ad = msv(ad)
jr = msv(jr)
total = msv(total)
dep = msv(dep)
jcom = msv(jcom)
if anos == 1:
man = 'ANO'
else:
man = 'ANOS'
print()
print(div)
print()
print('''INVESTIMENTO INICIAL: R$ {}
DEPÓSITO MENSAL: R$ {}
TAXA DOS JUROS COMPOSTOS: {}%
TOTAL DE MESES: {}
VALOR ACRESCIDO DO PRÓPRIO DINHEIRO: {}
VALOR ACRESCIDO EM JUROS COMPOSTOS: {}
VALOR FINAL APÓS {} {} RENDENDO: R$ {}'''.format(ii, ad, jr, meses, dep, jcom, anos, man, total))
print()
print(div)
input()