Der Preis/artikelnummer habe ich als str gespeichert dar mir search sonst eine exception schmeist dar ich ja nach einem teilstring in den einträgen der listen Suche aber ein string nicht teil einer integer oder float sein kann.Sirius3 hat geschrieben:@dannyboy385: eine Liste ist der falsche Datentyp für einen Eintrag, nimm Namedtuple, Wörterbücher oder ähnliches. Wenn artikelnummer, preisEK oder preisVK Zahlen sind, dann speicherst Du sie intern auch als Zahlen. Übrigens, preisVK = preisEK * (1 + gewinn) * mwst oder preisVK = preisEK * (1 + gewinn * mwst), je nachdem ob preisEK mit oder ohne Verbrauchssteuern ist. Wenn Du dann an anderer Stelle Probleme bekommst (search, readfile, etc) dann mußt Du die dort lösen und nicht durch eine unsinnige Datenhaltung. `new` bekommt die Liste datenbank als Argument und gibt sie auch wieder als Rückgabewert zurück. Das ist in manchen Sprachen üblich (chaining) in Python aber verpönt, weil es falsche Erwartungen an die Funktion erzeugt, nämlich, dass das Übergebene datenbank NICHT verändert wird. `for index ...` ist ein Anti-Pattern, heißt, soll man nicht machen; man kann direkt über die Listenelemente iterieren. `search` liefert unter Umständen ungewollte Ergebnisse.
Was genau meinst du mit direkt über die Listen Elemente iterieren. Wie wäre hier ein passender Lösungsansatz? Die Problematik bei einigen anderen versuchen war ja immer das die liste listen enthält und der zugriff über den index reichlicher denksport war. Artikelnummer ist denke ich als string sinnvoll..den preis könnte man aus der Suche ausschöießen, dar sicher keiner nach "3.72" suchen wird.
Dictionaries brachten mich in eine anderen versuch halb zur verzweiflung. Sie sind ja immer eine zuordnung von key:value. Aber in wie fern wird diese zuordnung nützlich oder interessant? Habe soeben feierabend gemacht und werde mich noch einmal an einen versuch waagen.