Tk Taschenrechner

Stellt hier eure Projekte vor.
Internetseiten, Skripte, und alles andere bzgl. Python.
Antworten
pyStyler
User
Beiträge: 311
Registriert: Montag 12. Juni 2006, 14:24

Donnerstag 30. November 2006, 15:42

Hallo,
hier mal ein Taschenrechner in 28 Codezeilen. :D

Code: Alles auswählen

from Tkinter import *  
class Taschenrechner(Frame):
	def __init__(self,master=None):
		Frame.__init__(self, master)
		self.pack(expand=YES, fill=BOTH)	
		self.option_add('*Font', 'Courier 12 bold')
		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+='):
			self.frame1=Frame(self)
			self.frame1.pack(side=TOP, expand=YES, fill=BOTH)
			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)
			if zeichen == '=':
				self.b.configure(command=self.rechnen)
		Button(self.frame1,text='loeschen', 
			command=lambda var=self.stringvar: var.set('')).pack(expand=True, fill=BOTH)
	def rechnen(self):
		rec = str(eval(self.stringvar.get()))
		self.entry.delete(0, END)
		self.entry.insert(END, str( rec))
root=Tk()
root.geometry('400x250+250+250')
Taschenrechner(root);root.mainloop()
ob es wohl noch kürzer geht?

Gruss
pyStyler

edit: titel geändert....
Zuletzt geändert von pyStyler am Freitag 1. Dezember 2006, 16:02, insgesamt 2-mal geändert.
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Donnerstag 30. November 2006, 15:55

pyStyler hat geschrieben:ob es wohl noch kürzer geht?
Die Frage ist eher: Geht es unter Verwendung von Namespaces und unter Einhaltung des PEP 8?
My god, it's full of CARs! | Leonidasvoice vs Modvoice
pyStyler
User
Beiträge: 311
Registriert: Montag 12. Juni 2006, 14:24

Donnerstag 30. November 2006, 16:13

Leonidas hat geschrieben:
pyStyler hat geschrieben:ob es wohl noch kürzer geht?
Die Frage ist eher: Geht es unter Verwendung von Namespaces und unter Einhaltung des PEP 8?
stimmt so Python Conform ist es eher nicht aber zu Übung muss es reichen.
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Donnerstag 30. November 2006, 16:34

pyStyler hat geschrieben:aber zu Übung muss es reichen.
Warum? Wenn es doch eine Übung ist, dann kannst du auch üben saubere Programme zu schreiben.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Antworten