Ich habe eine Aufgabe bekommen wo ich einen normalen Taschenrechner programmieren soll.. die Grundrechenformen wie plus minus mal und geteilt hae ich schon nun hänge ich bei den funktionen sinus cosinus und quadratwurzel ziehen

::::::hier das jetzige programm:::::::
from Tkinter import *
import math
class Taschenrechner(Frame):
def __init__(self,master=None):
Frame.__init__(self)
self.pack(expand=YES, fill=BOTH) #Ma?e der Buttons
self.option_add('*Font', 'Courier 12 bold') #Schriftart
self.stringvar = StringVar()
self.entry=Entry(self, relief=SUNKEN,
textvariable=self.stringvar)
self.entry.pack(side=TOP, expand=YES, fill=BOTH)
for tasten in ('789/', '456*','123-', '.0+='): #Angaben der Ziffern und Zeichen
self.frame1=Frame(self)
self.frame1.pack(side=TOP, expand=YES, fill=BOTH) #Ma?e des Entryfeldes
for zeichen in tasten:
self.b=Button(self.frame1, text=zeichen,command=lambda z=zeichen,
var=self.stringvar, : var.set(var.get() + z))
self.b.pack(side=LEFT, expand=YES, fill=BOTH) # Anpassung der Buttons im Feld
if zeichen == '=': #Gibt das Ergebnis raus
self.b.configure(command=self.rechnen) # Befehl
Button(self.frame1,text=' CE ', #Button zum L?schen
command=lambda var=self.stringvar: var.set('')).pack(expand=True, fill=BOTH)#('') erzeugt leere Feld
def rechnen(self):
rec = str(eval(self.stringvar.get()))
self.entry.delete(0, END) #setzt die Rechnung zur?ck und gibt das Ergebnis raus
self.entry.insert(END, str( rec))
self.entry
root=Tk()
root.geometry('400x250+250+250')
Taschenrechner(root);root.mainloop()