Seite 1 von 1

Bruttopreis berechnen

Verfasst: Donnerstag 10. Februar 2022, 17:56
von Klapperschlange96
Hallo ihr Lieben,

Anfängerproblem:
nettoPreis=random.randint(1, 100)
Wie berechne ich daraus den Bruttopreis?
bruttoPreis=berechneBrutto(nettoPreis)
def berechneBrutto(netto):
return netto + (netto * (19 / 100))
funktioniert leider nicht.

Vielen Dank im Voraus!

Re: Bruttopreis berechnen

Verfasst: Donnerstag 10. Februar 2022, 18:23
von noisefloor
Hallo,

bitte den Code in einen Codeblock setzen, nicht als Zitat einfügen. Den Codeblock bekommst du, indem du im vollständigen Editor auf die </> Schaltfläche klickst. Dann ist der Code besser lesbar und die Einrückungen bleiben erhalten.

Was heißt "funktioniert nicht" - das ist keine brauchbare Fehlermeldung. Kommt ein Ergebnis raus, das aber falsch ist? Bekommst du eine Fehlermeldung? Wenn ja, bitte komplett im Codeblock posten. Ist dein Rechner beim Ausführen des Codes explodiert?

Gruß, noisfloor

Re: Bruttopreis berechnen

Verfasst: Donnerstag 10. Februar 2022, 18:25
von Sirius3
Was bedeutet funktioniert nicht? Gibt es eine Fehlermeldung? Wenn ja welche?
Variablennamen und Funktionen schreibt man übrigens komplett klein, also nettopreis berechne_brutto.

Re: Bruttopreis berechnen

Verfasst: Donnerstag 10. Februar 2022, 18:34
von Klapperschlange96
Danke für eure Rückmeldungungen! Ich werde versuchen eure Hinweise umzusetzen.

Im Controller ist mein Produkt folgendermasen hinterlegt:

Code: Alles auswählen

    Produkte.append(Produkt(ID=ID, Name=Name, Beschreibung=Beschreibung, nettoPreis=nettoPreis, bruttoPreis=bruttoPreis,
                            Kategorie=kategorie, Lagerbestand=Lagerbestand))
Und in der View:

Code: Alles auswählen

    meinProdukt = Produkt(ID=random.randint(1, 999999), Name="RandomName{}".format(i),
                          Beschreibung="Ich bin eine randomBeschreibung {}".format(i),
                          nettoPreis=random.randint(1, 100), bruttoPreis=random.randint(100, 120),
                          Lagerbestand=random.randint(1, 1000), Kategorie="Kategorie {}".format(i))
    Produkte.append(meinProdukt)
Das der BruttoPreis sich auch zufällig errechnet ist ja Quatsch. Habe jetzt probiert es mit der oben genannten Funktion zu ändern, aber das hat leider nicht geklappt. :roll:
Habt ihr einen Ansatz für mich?

Re: Bruttopreis berechnen

Verfasst: Donnerstag 10. Februar 2022, 19:01
von Sirius3
Und schon wieder zeigst Du Code ohne jeglichen Kontext. Was willst Du erreichen? Was klappt denn nicht?

Re: Bruttopreis berechnen

Verfasst: Donnerstag 10. Februar 2022, 23:47
von __blackjack__
Brutto- und Nettopreis unabhängig voneinander zufällig bestimmen scheint mir keine so sinnvolle Idee zu sein. 🤔

Re: Bruttopreis berechnen

Verfasst: Freitag 11. Februar 2022, 07:02
von sparrow
@Klapperschlange96: Was ist denn "View" und "Controller"? Hier wurde ja bereits geschrieben, dass die Schreibweise deiner Namen gegen die üblichen Python Konventionen verstößt. Das Macht es sehr schwer zu erkennen, mit was für Objekten du da überhaupt arbeitest.

Falls Produkt eine Klasse ist - das kann man bei deiner Schreibweise nicht unterscheiden -, ist es falsch bei denen Netto- und Bruttopreis als Attribute zu speichern. Deshalb landest du auch bei deinem Problem.
Speicher stattdessen den Nettopreis und den MwSt-Satz. Dann braucht Produkt noch ein property, das aus den beiden Feldern den Bruttopreis bei Bedarf errechnet und zurück gibt.

Noch einmal zur Namensgebung:
In Python werden alle Namen klein_mit_unterstrich geschrieben.
Ausgenommen sind die Namen von Klassen (PascalCase), aber nicht die Namen der Instanzen, und die Namen von Konstanten (KOMPLETT_GROSS).
Warum? Weil die Konvention dabeo hilft zu erkennen, um was es sich bei etwas handelt.

Re: Bruttopreis berechnen

Verfasst: Freitag 11. Februar 2022, 08:53
von __blackjack__
@sparrow: Ich würde das ja nicht zwingend als falsch bezeichnen, denn das ist ja gerade das nette an Properties: Man kann auch Netto und Brutto speichern und dann den Mehrwertsteuersatz als Property definieren.

@Klapperschlange96: Noch was zur Namensgebung: `mein` ist genau wie `my` ein in 99,999% der Fälle nichtssagender, überflüssiger Namenszusatz den man sich sparen sollte. Wenn es nicht auch `unserProdukt` oder `derenProdukt` oder ähnliches gibt, gegen den das `meinProdukt` sich abgrenzen würde, heisst das einfach nur `produkt` ohne irgendwelche Zusätze.