Prozedurfehler beim Taschenrechner
Verfasst: Freitag 23. Juni 2006, 18:02
Hi Leute! ich bin neu hier im Forum (wie ihr sicher schon seht) und habe eine Frage bezüglich meines Progammes:
Ich habe die Prozeduren "loeschen_2", "wurzel" und "hoch" aus der Klasse "Display" bis jetzt noch nicht zum Laufen gebracht. Kann mir bitte jemand helfen? Danke im Voraus!
[/code]
Ich habe die Prozeduren "loeschen_2", "wurzel" und "hoch" aus der Klasse "Display" bis jetzt noch nicht zum Laufen gebracht. Kann mir bitte jemand helfen? Danke im Voraus!
Code: Alles auswählen
from Tkinter import*
class Taschenrechner(Tk):
def __init__(self):
Tk.__init__(self)
self.title ('Taschenrechner')
self.ende=0
self.display=Display(self)
self.display.grid(column=0, row=0, sticky=E+W,
columnspan=10,pady=5)
tasten=[(0,1,'7'),(1,1,'8'),(2,1,'9'),(3,1,'+'),
(0,2,'4'),
(1,2,'5'),(2,2,'6'),(3,2,'-'),(4,2,'('),
(6,2,')'),(0,3,'1'),(1,3,'2'),
(2,3,'3'),(3,3,'*'),
(6,3,''),(0,4,'0'),(1,4,'.'),(2,4,''),
(3,4,'/')]
for tupel in tasten:
Taste(self, tupel[2]).grid(column=tupel[0], row=tupel[1])
Clear(self).grid(column=5, row=1)
Gleich(self).grid(column=5, row=2)
All_Clear(self).grid(column=4, row=1)
Wurzel(self).grid(column=4, row=3)
Hoch(self).grid(column=5, row=3)
self.mainloop()
################################################################################
class Taste(Button):
def __init__(self, fenster, aufschrift):
Button.__init__(self, fenster, text=aufschrift,
command=self.druecken,width=3)
self.aufschrift=aufschrift
self.fenster=fenster
def druecken(self):
d=self.fenster.display
if self.fenster.ende:
d.delete(0, len(d.get()))
self.fenster.ende = 0
d.anhaengen(self.aufschrift)
class Clear(Button):
def __init__(self, fenster):
Button.__init__(self, fenster, text='C',
command=self.loeschen, width=3)
self.display = fenster.display
def loeschen(self):
self.display.loeschen()
class All_Clear(Button):
def __init__(self, fenster):
Button.__init__(self, fenster, text='AC',
command=self.loeschen_2, width=3)
self.display = fenster.display
def loeschen_2(self):
self.display.loeschen_2()
class Wurzel(Button):
def __init__(self, fenster):
Button.__init__(self, fenster, text='sqrt',
command=self.wurzel, width=3)
self.display = fenster.display
def wurzel(self):
self.display.wurzel()
class Hoch(Button):
def __init__(self, fenster):
Button.__init__(self, fenster, text='^',
command=self.hoch, width=3)
self.display = fenster.display
def hoch(self):
self.display.hoch()
class Gleich(Button):
def __init__(self, fenster):
Button.__init__(self, fenster, text='=',
command=self.rechnen,width=3)
self.fenster=fenster
def rechnen(self):
ergebnis=eval(self.fenster.display.get())
ende=len(self.fenster.display.get())
self.fenster.display.insert(ende, '='+str(ergebnis))
self.fenster.ende=1
class Display(Entry):
def __init__(self,fenster):
Entry.__init__(self,fenster,width=20)
def anhaengen(self,zeichen):
self.insert(len(self.get()),zeichen)
def loeschen(self):
self.delete(len(self.get())-1)
def loeschen_2(self):
self.delete("1.0",END)
def wurzel(self):
self.insert ("**(1.000/2)")
def hoch(self):
self.insert ('**')
t = Taschenrechner()
[/code]