abstrakte Funktion Taschenrechner

Fragen zu Tkinter.
Antworten
beginner86
User
Beiträge: 1
Registriert: Montag 7. Dezember 2015, 20:10

Hallo pythonier,

ich bin dabei meine ersten Erfahrung mit python zu sammeln. Und hab beschlossen ein einfachen Taschenrechner zu programmieren.

Dabei bin ich auf ein folgendes Problem gestoßen.

Zunächst zeige ich euch den Code :

Code: Alles auswählen

from tkinter import *

master=Tk() 

def insert_field(k):
	return e1.insert(1,"k")


e1=Entry(master)
e1.grid(row=0, column=1)
button1=Button(master,text='1', command=(insert_field(1) ) ).grid(row=1 , column=1)
button2=Button(master,text='1', command=(insert_field(2) ) ).grid(row=1 , column=1)
mainloop()
Meine Idee ist folgender , wenn man auf den Button eins drückt ,soll dann in Entry 1 stehen ,wenn man auf dem Button 2 drückt soll in Entry-widget eine zwei stehen.

Das kriege ich hin ,aber dann müsste ich beispiele sie dann zwei funktion definieren ,

def insert_field_1():
return e1.insert(1,"1")

def insert_field_2():
return e1.insert(1,"2")

Und bei einem Taschenrechner mit 10 Buttons wären dann insgesamt 10 funktionen zu bilden .


Deshalb war meine Idee , die Funktion zu abstrahieren und rein mathematisch müsste es doch klappen

Ich hoffe ihr könnt mir paar verbesserungsvorschläge geben
Zuletzt geändert von Anonymous am Montag 7. Dezember 2015, 20:49, insgesamt 1-mal geändert.
Grund: Quelltext in Python-Codebox-Tags gesetzt.
BlackJack

@beginner86: Schau Dir mal `functools.partial()` an.
Antworten