Zahl prüfen ob Ganz- oder FLießkommazahl

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

gerold hat geschrieben:Ja, diese sind im Modul "operator" versteckt.
Dann geht's auch ein bischen kompakter:

Code: Alles auswählen

import operator

l = [100, "-", 20, "+", 250.6, "*", 2, "/", 4]

class calc:
    def __init__(self):
        self.ops = {
            "-" : operator.sub,
            "+" : operator.add,
            "*" : operator.mul,
            "/" : operator.div
        }
        self.result = None
        self.last_opt_string = ""
        self.operation = None

    def feed(self, x):
        if self.result == None:
            print x
            self.result = float(x)
            return

        if self.operation != None:
            print self.last_opt_string, x,
            self.result = self.operation(self.result, x)
            print "=", self.result
            self.operation = None
            return

        try:
            self.operation = self.ops[x]
        except KeyError, e:
            print "Unknown Operation:", e
            sys.exit()
        else:
            self.last_opt_string = x

c = calc()
for x in l:
    c.feed(x)

print "="*30
print "Result:", c.result

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
BlackJack

Alles sehr schön, aber was ist eigentlich mit "Punkt vor Strichrechnung"? Das gibt Punktabzug. :twisted:
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

BlackJack hat geschrieben:Alles sehr schön, aber was ist eigentlich mit "Punkt vor Strichrechnung"? Das gibt Punktabzug. :twisted:
Deswegen ahbe ich mir mal einen UPN-Rechner gebaut.. (nein, nicht mit VB!) 8)
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Antworten