-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.py
More file actions
144 lines (123 loc) · 4.83 KB
/
main.py
File metadata and controls
144 lines (123 loc) · 4.83 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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
import math
from math import sqrt
def mitternachtsformel():
try:
a = float(input("a: "))
b = float(input("b: "))
c = float(input("c: "))
res = (b ** 2) - (4 * (a * c))
x1 = (-b + sqrt(res)) / (2 * a)
x2 = (-b - sqrt(res)) / (2 * a)
print(round(x1, 2))
print(round(x2, 2))
except ValueError:
print("Fail")
def zins_formel():
choice = int(input("Was gesucht?\n\tStartkapital(1)\n\tEndkapital(2)\n\tZinssatz(3)\n\tJahre(4)\n\tDegressive "
"Abschreibung(5)\nEingabe: "))
unterjaehrige_verzinsung = input("Unterjährige Verzinsung? (ja/nein): ")
quest = ["Startkapital: ", "Endkapital: ", "Zinssatz: ", "Jahre: "]
inputs = []
for q in range(len(quest)):
if q + 1 == choice:
continue
value = float(input(quest[q]))
inputs.append(value)
if unterjaehrige_verzinsung.lower() == "ja":
n = int(input("Anzahl der Zinsperioden pro Jahr: "))
else:
n = 1
if choice == 2:
Startkapital, Zinssatz, Jahre = inputs
Endkapital = Startkapital * (1 + (Zinssatz / 100) / n) ** (n * Jahre)
print(f"Endkapital: {Endkapital}")
elif choice == 1:
Endkapital, Zinssatz, Jahre = inputs
Startkapital = Endkapital / ((1 + (Zinssatz / 100) / n) ** (n * Jahre))
print(f"Startkapital: {Startkapital}")
elif choice == 3:
Startkapital, Endkapital, Jahre = inputs
Zinssatz = n * ((Endkapital / Startkapital) ** (1 / (n * Jahre)) - 1) * 100
print(f"Zinssatz: {Zinssatz}%")
elif choice == 4:
Startkapital, Endkapital, Zinssatz = inputs
Jahre = math.log(Endkapital / Startkapital) / (n * math.log(1 + (Zinssatz / 100) / n))
print(f"Jahre: {round(Jahre, 2)}")
elif choice == 5:
Startkapital, Jahre = inputs
Abschreibungsprozentsatz = float(input("Abschreibungsprozentsatz: "))
for jahr in range(1, Jahre + 1):
Abschreibungsbetrag = Startkapital * (Abschreibungsprozentsatz / 100)
Startkapital -= Abschreibungsbetrag
print(f"Jahr {jahr}: Buchwert = {Startkapital}, Abschreibung = {Abschreibungsbetrag}")
else:
print("Ungültige Auswahl.")
def renten_formel():
def renten_rechnung(inputs, vorschuessig=False):
Zinsfaktor, *rest = inputs
Zinsfaktor = Zinsfaktor / 100 + 1
n = 0
if renten_choice == 1:
Jahre, Rente = rest
Endwert = Rente * ((Zinsfaktor ** Jahre - 1) / (Zinsfaktor - 1))
if vorschuessig:
Endwert = Endwert * Zinsfaktor
return Endwert
elif renten_choice == 2:
Jahre, Rente = rest
if vorschuessig:
n = 1
Barwert = Rente * ((Zinsfaktor ** Jahre - 1) / (Zinsfaktor ** (Jahre - n)) * (Zinsfaktor - 1))
return Barwert
elif renten_choice == 3:
Jahre, Barwert = rest
if vorschuessig:
n = 1
rente_von_barwert = Barwert * ((Zinsfaktor ** (Jahre - n) * (Zinsfaktor - 1) / (Zinsfaktor ** Jahre - 1)))
return rente_von_barwert
elif renten_choice == 4:
Jahre, Endwert = rest
n = 1
if vorschuessig:
n = Zinsfaktor
rente_von_endwert = Endwert * ((Zinsfaktor - 1) / (n * (Zinsfaktor ** Jahre - 1)))
return rente_von_endwert
elif renten_choice == 5:
Rente, Endwert = rest
n = 1
if vorschuessig:
n = Zinsfaktor
Jahre = math.log(((Endwert * (Zinsfaktor - 1)) / (n * Rente)) + 1) / math.log(Zinsfaktor)
return Jahre
else:
return "Fail"
renten_choice = int(input("Was gesucht?\n\tEndwert(1)\n\tBarwert(2)\n\tRente vom Barwert(3)\n\tRente vom Endwert("
"4)\n\tJahre(5)\nEingabe: "))
vorschuessig = input("Vorschüssig? (Ja/Nein): ")
quest = ["Zinsfaktor: ", "Jahre: "]
if renten_choice == 5:
quest.remove("Jahre: ")
if renten_choice in (1, 2, 5):
quest.append("Rente: ")
if renten_choice == 3:
quest.append("Barwert: ")
if renten_choice in (4, 5):
quest.append("Endwert: ")
inputs = []
print(len(quest))
for q in range(len(quest)):
value = float(input(quest[q]))
inputs.append(value)
if vorschuessig.lower() == "ja":
print(round(renten_rechnung(inputs, True), 2))
else:
print(round(renten_rechnung(inputs), 2))
if __name__ == '__main__':
print("Willkommen zu den Mathe formeln\n")
choice = input("Was möchten Sie?\nMitternachtsformel(M)\nZins_formel(Z)\nRenten_formel(R)\n\nEingabe: ")
if choice == "M":
mitternachtsformel()
if choice == "Z":
zins_formel()
if choice == "R":
renten_formel()