taschenrechner.py
import tkinter
# Hier wird das Fenster (interface) erstellt
fenster = tkinter.Tk()
fenster.resizable(True, True)
fenster.geometry("270x390-500+300")
fenster.title("Alex Rechner" )
# Rechnen funktion
def berechne():
try:
ergebnis = eval(ausgabe_feld.get("1.0", "end"))
ausgabe_feld.delete("1.0", "end")
ausgabe_feld.insert("end",str(ergebnis).replace(",", "."))
except:
ausgabe_feld.delete("1.0", "end")
ausgabe_feld.insert("end", "Fehler")
# für button klicken und in Asgabefeld angezeigt wird
def schreibe_zeichen(zeichen):
ausgabe_feld.insert(tkinter.END, zeichen)
# "C " Button (Löschen)
def eingabe_löschen():
ausgabe_feld.delete("1.0", tkinter.END)
# Beenden Button
def rechner_beenden():
fenster.destroy()
# Buttons und Ausgabefeld initialisiert
ausgabe_feld = tkinter.Text(fenster,width = 30, height=5)
beenden = tkinter.Button(fenster,border=4,command=rechner_beenden,text="Beenden",width=7,height=2)
löschen = tkinter.Button(fenster,border=4,command=eingabe_löschen,text="C",width=7,height=2)
modulo = tkinter.Button(fenster,border=4,text="%",width=7,height=2,command=lambda:schreibe_zeichen("%"))
teilen = tkinter.Button(fenster,border=4,text="/",width=7,height=2,command=lambda:schreibe_zeichen("/"))
zieben = tkinter.Button(fenster,border=4,text="7",width=7,height=2,command=lambda:schreibe_zeichen(7))
acht = tkinter.Button(fenster,border=4,text="8",width=7,height=2,command=lambda:schreibe_zeichen(8))
neun = tkinter.Button(fenster,border=4,text="9",width=7,height=2,command=lambda:schreibe_zeichen(9))
mal = tkinter.Button(fenster,border=4,text="*",width=7,height=2,command=lambda:schreibe_zeichen("*"))
vier = tkinter.Button(fenster,border=4,text="4",width=7,height=2,command=lambda:schreibe_zeichen(4))
fünf = tkinter.Button(fenster,border=4,text="5",width=7,height=2,command=lambda:schreibe_zeichen(5))
sechs = tkinter.Button(fenster,border=4,text="6",width=7,height=2,command=lambda:schreibe_zeichen(6))
minus = tkinter.Button(fenster,border=4,text="-",width=7,height=2,command=lambda:schreibe_zeichen("-"))
eins = tkinter.Button(fenster,border=4,text="1",width=7,height=2,command=lambda:schreibe_zeichen(1))
zwei = tkinter.Button(fenster,border=4,text="2",width=7,height=2,command=lambda:schreibe_zeichen(2))
drei = tkinter.Button(fenster,border=4,text="3",width=7,height=2,command=lambda:schreibe_zeichen(3))
plus = tkinter.Button(fenster,border=4,text="+",width=7,height=2,command=lambda:schreibe_zeichen("+"))
null = tkinter.Button(fenster,border=4,text="0",width=7,height=2,command=lambda:schreibe_zeichen(0))
istgleich = tkinter.Button(fenster,border=4,command=berechne ,text="=",width=17,height=2,)
komma = tkinter.Button(fenster,border=4,text=",",width=7,height=2,command=lambda:schreibe_zeichen("."))
# Buttons und Ausgabefeld positioniert
ausgabe_feld.grid(row = 1,columnspan=4,padx = 10, pady =10)
beenden.grid(row = 2, column = 1, padx = 0, pady =5)
löschen.grid(row = 2, column = 0, padx = 0, pady =5)
modulo.grid(row = 2, column = 2, padx = 0, pady =5)
teilen.grid(row = 2, column = 3, padx = 0, pady =5)
zieben.grid(row = 3, column = 0, padx = 0, pady =5)
acht.grid(row = 3, column = 1, padx = 0, pady =5)
neun.grid(row = 3, column = 2, padx = 0 ,pady =5)
mal.grid(row = 3, column = 3, padx = 0, pady =5)
vier.grid(row = 4, column = 0, padx = 0, pady =5)
fünf.grid(row = 4, column = 1, padx = 0, pady =5)
sechs.grid(row = 4, column = 2, padx = 0, pady =5)
minus.grid(row = 4, column = 3, padx = 0, pady =5)
eins.grid(row = 5, column = 0, padx = 0, pady =5)
zwei.grid(row = 5, column = 1, padx = 0, pady =5)
drei.grid(row = 5, column = 2, padx = 0, pady =5)
plus.grid(row = 5, column = 3, padx = 0, pady =5)
null.grid(row = 6, column = 0, padx = 0, pady =5)
istgleich.grid(row=6, column=2, columnspan=3, padx=(0, 0), pady=5,sticky="we")
komma.grid(row = 6, column = 1, padx = 0, pady =5)
fenster.mainloop()