Zuerst habe ich es als Konsolenanwendung programmiert, das hat perfekt funktioniert. Aber mit TKinter habe ich das Problem das ich als Fehler angezeigt bekomme: 'Entry' object has no attribute 'count'. Jetzt meine Frage was kann ich an stelle von count benutzen oder kann ich meine Eingabe so umwandeln das ich count benutzen kann?
Danke schonmal im Vorraus!
Python Code:
Code: Alles auswählen
# Einfacher Taschenrechner mit grafischer Benutzeroberfläche
# Rechnung mit nur einem operandten eingeben
#Rechenzeichen +, -, *, /
from tkinter import *
fenster = Tk() #Fenster wird erzeugt
fenster.title("Taschenrechner Version1") #Fenstertitel geändert
fenster.geometry("400x250")#Fenstergröße
labelaufgabe = Label(fenster, text="Bitte Aufgabe eingeben:")# Label für Aufgabe
labelaufgabe.pack()
s = (Entry(fenster)) #Eingabefeld wird erzeugt
s.pack()#Eingabefeld automatisch positionieren
labelergebnis = Label(fenster)#Label zur anzeige des Ergebnisses erzeugen
labelergebnis.pack()
def rechnen():#Funktion zum rechnen
if s.count('+')>0: # Wenn + vorhanden ist wird plus gerechnet
wooperand = s.find('+') #Hier wird die stelle an der der Operand steht gesucht
operand = s[wooperand] #Operand wird in die Variable operand geschrieben (Hier +)
zahl1 = float(s[:wooperand]) # Alles vor dem Operand ist Zahl 1
zahl2 = float(s[wooperand+1:]) # Alles nach dem Operand ist Zahl 2
Ergebnis = zahl1+zahl2
elif s.count('-')>0: # Wenn - vorhanden ist wird Minus gerechnet
wooperand = s.find('-')
operand = s[wooperand]
zahl1 = float(s[:wooperand])
zahl2 = float(s[wooperand+1:])
Ergebnis = zahl1-zahl2
elif s.count('*')>0: #Wenn * vorhanden ist wird Minus gerechnet
wooperand = s.find('*')
operand = s[wooperand]
zahl1 = float(s[:wooperand])
zahl2 = float(s[wooperand+1:])
Ergebnis = zahl1*zahl2
elif s.count('/')>0:# Wenn / vorhanden ist wird geteilt gerechnet
wooperand = s.find('/')
operand = s[wooperand]
zahl1 = float(s[:wooperand])
zahl2 = float(s[wooperand+1:])
Ergebnis = zahl1/zahl2
else:
Ergebnis = "Error"
labelergebnis.configure(text=(Ergebnis))
knopfrechnen = Button(fenster, text="rechnen", command=rechnen)# Button wird erzeugt
knopfrechnen.pack()
mainloop()