Seite 1 von 1

möchte gerne operator auswählen bei rechen-programm

Verfasst: Sonntag 12. September 2010, 09:59
von anfängerpython

Code: Alles auswählen

while True:
    zahl1 = int(input("geben sie eine zahl ein"))
    if zahl1 == "ende":
        break
    
    zahl2 = int(input("geben sie eine zahl ein"))
    if zahl2 == "ende":
        break

    operator = int(input("geben sie + , - , * oder / ein"))


    ergebnis = zahl1 operator zahl2
    print(ergebnis)
operator bei "ergebnis = zahl1 operator zahl2" ist rot angestrichen und somit ein syntax fehler.
ich weiß nicht wie man den operator sonst auswählen kann oder was an meiner eingabe falsch ist.
Bittte um hilfe

Re: möchte gerne operator auswählen bei rechen-programm

Verfasst: Sonntag 12. September 2010, 10:12
von Leonidas
Ein Beispiel zum selbst spielen:

Code: Alles auswählen

import operator

operators = {
    '+' : operator.add,
    '-' : operator.sub,
    '*' : operator.mul
}

operation = operators[input("geben sie + , - oder * ein")]
ergebnis = operation(zahl1, zahl2)

Re: möchte gerne operator auswählen bei rechen-programm

Verfasst: Sonntag 12. September 2010, 10:17
von cofi
Nein, `operator` ist nicht rot, weil es ein Syntaxfehler ist, sondern weil es ein Modul ist. In dem Fall auch das, das du suchst.
Was denkst du denn, macht

Code: Alles auswählen

operator = int(input("geben sie + , - , * oder / ein"))
?

Code: Alles auswählen

import operator
operation = input("+,-,* or /")
function = { '+' : operator.add,
             '-' : operator.sub,
             '*' : operator.mul,
             '/' : operator.div }[operation]
result = function(first, second)

Re: möchte gerne operator auswählen bei rechen-programm

Verfasst: Sonntag 12. September 2010, 10:26
von anfängerpython
danke wie kann ich dividieren ergänzen

Re: möchte gerne operator auswählen bei rechen-programm

Verfasst: Sonntag 12. September 2010, 13:11
von snafu
anfängerpython hat geschrieben:danke wie kann ich dividieren ergänzen
Mit ein wenig Eigeninitiative (Doku des operator-Moduls lesen) oder cofis Beitrag beachten.