Python Zinsrechner GUI
Verfasst: Dienstag 29. Juni 2021, 15:10
Hallo Zusammen!
Ich muss für die Schule einen Python GUI Zinsrechner erstellen und komme gerade nicht weiter.
Das Problem: Ich muss ein code erstellen bei dem man "Startkapital", "Zinssatz" und "Wunschbetrag" (angestrebter Betrag) angeben muss und der die Zeit (Jahre) berechnen die es benötigt um auf den "Wunschbetrag" zu kommen.
Mein Code sieht aus wie folgt:
import tkinter as tk
from functools import partial
# Function for clearing the
# contents of all entry boxes
def clear_all(startkapital_field, zinssatz_field, wunschbetrag_field, zeit_field):
# whole content of entry boxes is deleted
startkapital_field.delete(0, tk.END)
zinssatz_field.delete(0, tk.END)
zeit_field.delete(0, tk.END)
wunschbetrag_field.delete(0, tk.END)
# set focus on the principle_field entry box
startkapital_field.focus_set()
def calculate_zeit(startkapital_field, zinssatz_field, wunschbetrag_field, zeit_field):
startkapital = float(startkapital_field.get())
zinssatz = float(zinssatz_field.get())
wunschbetrag = float(wunschbetrag_field.get())
zinsen = (startkapital*zinssatz/100)
zeit = (zinsen*100*360/startkapital*zinssatz)
zeit_field.insert(10, zeit)
def main():
root = tk.Tk()
root.configure(background='grey')
root.title("Zinsrechner")
tk.Label(root, text="Startkapital : ", fg='black', bg='red').grid(row=1, column=0, padx=10, pady=10)
startkapital_field = tk.Entry(root)
startkapital_field.grid(row=1, column=1, padx=10, pady=10)
tk.Label(root, text="Zinssatz(%) : ", fg='black', bg='red').grid(row=2, column=0, padx=10, pady=10)
zinssatz_field = tk.Entry(root)
zinssatz_field.grid(row=2, column=1, padx=10, pady=10)
tk.Label(root, text="Wunschbetrag : ", fg='black', bg='red').grid(row=3, column=0, padx=10, pady=10)
wunschbetrag_field = tk.Entry(root)
wunschbetrag_field.grid(row=3, column=1, padx=10, pady=10)
tk.Label(root, text="Zeit (Jahre) : ", fg='black', bg='red').grid(row=5, column=0, padx=10, pady=10)
zeit_field = tk.Entry(root)
zeit_field.grid(row=5, column=1, padx=10, pady=10)
tk.Button(root, text="Berechnen", bg="red", fg="black",
command=partial(calculate_zeit, startkapital_field, zinssatz_field, wunschbetrag_field, zeit_field)
).grid(row=4, column=1, pady=10)
tk.Button(root, text="Löschen", bg="red", fg="black",
command=partial(clear_all, startkapital_field, zinssatz_field, wunschbetrag_field, zeit_field)
).grid(row=6, column=1, pady=10)
root.mainloop()
if __name__ == "__main__" :
main()
Ich wusste nicht genau wie ich die Formel ( CI = principle * (pow((1 + rate / 100), time)) ) umstellen sollte, damit die Zeit berechnet wird.
Ich bin noch ganz schön unerfahren was das Programmieren angeht, hoffentlich könnt ihr mir helfen. Vielen Dank schon mal im Voraus.
Ich muss für die Schule einen Python GUI Zinsrechner erstellen und komme gerade nicht weiter.
Das Problem: Ich muss ein code erstellen bei dem man "Startkapital", "Zinssatz" und "Wunschbetrag" (angestrebter Betrag) angeben muss und der die Zeit (Jahre) berechnen die es benötigt um auf den "Wunschbetrag" zu kommen.
Mein Code sieht aus wie folgt:
import tkinter as tk
from functools import partial
# Function for clearing the
# contents of all entry boxes
def clear_all(startkapital_field, zinssatz_field, wunschbetrag_field, zeit_field):
# whole content of entry boxes is deleted
startkapital_field.delete(0, tk.END)
zinssatz_field.delete(0, tk.END)
zeit_field.delete(0, tk.END)
wunschbetrag_field.delete(0, tk.END)
# set focus on the principle_field entry box
startkapital_field.focus_set()
def calculate_zeit(startkapital_field, zinssatz_field, wunschbetrag_field, zeit_field):
startkapital = float(startkapital_field.get())
zinssatz = float(zinssatz_field.get())
wunschbetrag = float(wunschbetrag_field.get())
zinsen = (startkapital*zinssatz/100)
zeit = (zinsen*100*360/startkapital*zinssatz)
zeit_field.insert(10, zeit)
def main():
root = tk.Tk()
root.configure(background='grey')
root.title("Zinsrechner")
tk.Label(root, text="Startkapital : ", fg='black', bg='red').grid(row=1, column=0, padx=10, pady=10)
startkapital_field = tk.Entry(root)
startkapital_field.grid(row=1, column=1, padx=10, pady=10)
tk.Label(root, text="Zinssatz(%) : ", fg='black', bg='red').grid(row=2, column=0, padx=10, pady=10)
zinssatz_field = tk.Entry(root)
zinssatz_field.grid(row=2, column=1, padx=10, pady=10)
tk.Label(root, text="Wunschbetrag : ", fg='black', bg='red').grid(row=3, column=0, padx=10, pady=10)
wunschbetrag_field = tk.Entry(root)
wunschbetrag_field.grid(row=3, column=1, padx=10, pady=10)
tk.Label(root, text="Zeit (Jahre) : ", fg='black', bg='red').grid(row=5, column=0, padx=10, pady=10)
zeit_field = tk.Entry(root)
zeit_field.grid(row=5, column=1, padx=10, pady=10)
tk.Button(root, text="Berechnen", bg="red", fg="black",
command=partial(calculate_zeit, startkapital_field, zinssatz_field, wunschbetrag_field, zeit_field)
).grid(row=4, column=1, pady=10)
tk.Button(root, text="Löschen", bg="red", fg="black",
command=partial(clear_all, startkapital_field, zinssatz_field, wunschbetrag_field, zeit_field)
).grid(row=6, column=1, pady=10)
root.mainloop()
if __name__ == "__main__" :
main()
Ich wusste nicht genau wie ich die Formel ( CI = principle * (pow((1 + rate / 100), time)) ) umstellen sollte, damit die Zeit berechnet wird.
Ich bin noch ganz schön unerfahren was das Programmieren angeht, hoffentlich könnt ihr mir helfen. Vielen Dank schon mal im Voraus.