Python Lernhandbuch

Kapitel 2: Variablen, Datentypen und Operatoren

Musterlösung mit Erklärung

Deine Lösung hat die Prüfung noch nicht bestanden. Lies die Erklärung, dann versuche es erneut – möglichst ohne abzuschreiben.
Aufgabe noch einmal lesen

Berechne einen Bruttopreis:

  1. Frage nach einem Nettopreis (Kommazahl) und einer Menge (ganze Zahl).
  2. Der Steuersatz soll in einer Konstante MWST = 0.20 stehen.
  3. Gib aus: Nettosumme, Steuerbetrag und Bruttosumme, jeweils auf zwei Nachkommastellen gerundet.
  4. Gib zusätzlich aus, ob die Bruttosumme über 100 liegt (True oder False).
python
MWST = 0.20

netto_preis = float(input('Nettopreis pro Stück: '))
menge = int(input('Menge: '))

netto_summe = netto_preis * menge
steuer = netto_summe * MWST
brutto = netto_summe + steuer

print('Netto: ', round(netto_summe, 2))
print('Steuer:', round(steuer, 2))
print('Brutto:', round(brutto, 2))
print('Über 100:', brutto > 100)

Was passiert:

  • MWST steht großgeschrieben oben: Das ist die Konvention für Konstanten. Python verhindert eine spätere Änderung nicht, aber jeder erkennt die Absicht.
  • float(...) und int(...) wandeln die Eingaben um. Bei menge verwenden wir int, weil nur ganze Stücke Sinn ergeben.
  • brutto > 100 ist ein Vergleich, der selbst ein Wert (True oder False) ist. Man kann ihn direkt ausgeben.
  • round(x, 2) rundet nur die Anzeige. Die Berechnung läuft mit voller Genauigkeit weiter, daher rundet man erst am Schluss.

Warum so: Berechnungen in eigenen Variablen mit sprechenden Namen zu halten, macht den Code lesbar und leicht änderbar (z. B. ein anderer Steuersatz an einer einzigen Stelle). Für echtes Geld würde man später Decimal statt float nutzen.