Taschenrechner
Verfasst: Donnerstag 5. September 2019, 08:44
Guten Morgen zusammen
Ich bin neu hier in Python und muss einen Taschenrechner programmieren. Soweit habe ich, glaube ich zumindest, alles programmiert, aber mein Taschenrechner rechnet nichts zusammen und zeigt mir nicht an was ich gedrückt habe. Kurz zuvor hatte ich die Fehlermeldung : SyntaxError: unexpected EOF while parsing. Das konnte ich jetzt beheben, aber leider komme ich nun nicht mehr weiter. Wie gesagt rechnet es nicht zusammen und zeigt mir auch nichts an. Wäre schön wen mir Jemand sagen könnte was ich falsch mache.
Freundliche Grüsse
Das ist mein Code: (mit den Abständen ist eigentlich alles ok, ich weiss allerdings nicht wieso es sie hier nicht anzeigt)
from tkinter import *
import math
import self as self
import sys
print(sys.stdin)
class Calculator(object):
output = False
submit = False
window = False
def __init__(self):
self.window = Tk()
self.window.title("Calculator")
self.window.resizable(False, False)
self.__build()
self.__display()
self.evaluate()
self.__calc()
self.window.mainloop()
def evaluate(self):
print.configure(text="Ergebnis: " + str(eval(Calculator.get)))
def __calc(self, value):
calcOpt = ("/", "+", "-", "*")
if Button == "=":
if "+":
print(eval(value + value))
if "-":
print(eval(value - value))
if "*":
print(eval(value * value))
if "/":
print(eval(value / value))
def __build(self):
grid = [
(0, 0, "-"),
(0, 1, "7"), (1, 1, "8"), (2, 1, "9"), (3, 1, "/"),
(0, 2, "4"), (1, 2, "5"), (2, 2, "6"), (3, 2, "*"),
(0, 3, "1"), (1, 3, "2"), (2, 3, "3"), (3, 3, "-"),
(0, 4, "0"), (1, 4, "C"), (2, 4, "="), (3, 4, "+")
]
for (col, row, text) in grid:
if col == 0 and row == 0:
self.output = Entry(self.window, text=text, state="disabled")
self.output.grid(column=col, row=row, columnspan=4, sticky=E + W)
else:
button = Button(self.window, text=text, command=lambda value=text: self.__calc(value))
button.grid(column=col, row=row)
def __display(self):
self.window.mainloop()
Calculator()
Ich bin neu hier in Python und muss einen Taschenrechner programmieren. Soweit habe ich, glaube ich zumindest, alles programmiert, aber mein Taschenrechner rechnet nichts zusammen und zeigt mir nicht an was ich gedrückt habe. Kurz zuvor hatte ich die Fehlermeldung : SyntaxError: unexpected EOF while parsing. Das konnte ich jetzt beheben, aber leider komme ich nun nicht mehr weiter. Wie gesagt rechnet es nicht zusammen und zeigt mir auch nichts an. Wäre schön wen mir Jemand sagen könnte was ich falsch mache.
Freundliche Grüsse
Das ist mein Code: (mit den Abständen ist eigentlich alles ok, ich weiss allerdings nicht wieso es sie hier nicht anzeigt)
from tkinter import *
import math
import self as self
import sys
print(sys.stdin)
class Calculator(object):
output = False
submit = False
window = False
def __init__(self):
self.window = Tk()
self.window.title("Calculator")
self.window.resizable(False, False)
self.__build()
self.__display()
self.evaluate()
self.__calc()
self.window.mainloop()
def evaluate(self):
print.configure(text="Ergebnis: " + str(eval(Calculator.get)))
def __calc(self, value):
calcOpt = ("/", "+", "-", "*")
if Button == "=":
if "+":
print(eval(value + value))
if "-":
print(eval(value - value))
if "*":
print(eval(value * value))
if "/":
print(eval(value / value))
def __build(self):
grid = [
(0, 0, "-"),
(0, 1, "7"), (1, 1, "8"), (2, 1, "9"), (3, 1, "/"),
(0, 2, "4"), (1, 2, "5"), (2, 2, "6"), (3, 2, "*"),
(0, 3, "1"), (1, 3, "2"), (2, 3, "3"), (3, 3, "-"),
(0, 4, "0"), (1, 4, "C"), (2, 4, "="), (3, 4, "+")
]
for (col, row, text) in grid:
if col == 0 and row == 0:
self.output = Entry(self.window, text=text, state="disabled")
self.output.grid(column=col, row=row, columnspan=4, sticky=E + W)
else:
button = Button(self.window, text=text, command=lambda value=text: self.__calc(value))
button.grid(column=col, row=row)
def __display(self):
self.window.mainloop()
Calculator()