Python Taschenrechner Hilfe?

5 Antworten

gar nicht , dafür macht man zeichenerkennung und ruft das entsprechende auf .

selbst wenn es gehen würde wäre das ein schweres sicherheitsproblem , der user könnte auch schadcode einfügen .

Ich würde 'ne Abfrage machen und je nach "Rechenzeichen" eine andere Rechnung ausführen.

Du kannst einerseits:

print("Taschenrechner")

Zahl1 = input("Erste Zahl: ")
Rechenzeichen = input("Rechenzeichen: ")
Zahl2 = input("Zweite Zahl: ")

summe1= eval(Zahl1 + Rechenzeichen + Zahl2)

print(Zahl1, Rechenzeichen ,Zahl2,"=",summe1)

nur sollte man da aufpassen, da man eventuell auch andere Befehle ausführen kann. Also sollte man prüfen, ob auch wirklich kein nur eine Rechenoperation in den Variablen steht...

Oder aber man macht es so:

def division(a,b):
    return a/b
def addition(a,b):
    return a+b
def subtraktion(a,b):
    return a-b
def multiplikation(a,b):
    return a*b
def potenz(a,b):
    return a**b
#...

dict = {
    ":": division,
    "/": division,
    "+": addition,
    "-": subtraktion,
    "*": multiplikation,
    "^": potenz
    "**": potenz
    #...
}

print("Taschenrechner")
Zahl1 = int(input("Erste Zahl: "))
Rechenzeichen = input("Rechenzeichen: ")
Zahl2 = int(input("Zweite Zahl: "))

summe1=dict[Rechenzeichen](Zahl1, Zahl2)

print(Zahl1, Rechenzeichen ,Zahl2,"=",summe1)

Und es gibt noch andere Möglichkeiten wie man so etwas schreiben kann...

das ? sollte eval(rechenzeichen) sein.

Was möchtest Du wissen?