Erst dieses Semester habe ich angefangen, mit Python zu programmieren. Als Aufgabe müssen wir nun ein Programm schreiben, dass anhand von im Shell eingegebenen Preisen den Totalbeitrag und evtl. die entsprechenden Rabatte berechnet. Wenn ein x eingegeben wird, soll die Eingabe gestoppt und die Summe berechnet werden. Dafür habe ich das folgende Programm geschrieben:
Code: Alles auswählen
i = 0
preis1 = input("Bitte geben Sie den ersten Preis ein: ")
summe = 0
if i == 0 and preis1 != "x":
preis2 = input("Bitte geben Sie den zweiten Preis ein: ")
i = i+1
if i == 1 and preis2 != "x":
preis3 = input ("Bitte geben Sie den dritten Preis ein: ")
i = i+1
else:
if int(preis1) < 100:
summe = summe + int(preis1)
print("Kein Rabatt. Gesamtpreis:", summe)
elif int(preis1) > 100 and int(preis1) < 1000 or int(preis1) == 100:
summe = summe + int(preis1) - ((int(preis1)*5)/100)
print("5% Rabatt. Gesamtpreis:", summe)
elif int(preis1) > 1000 or int(preis1) == 1000:
summe = summe + int(preis1) - ((int(preis1)*10)/100)
print("10% Rabatt. Gesamtpreis:", summe)
if i == 2 and preis3 != "x":
if int(preis1)+int(preis2)+int(preis3) < 100:
summe = summe + int(preis1)+ int(preis2)+int(preis3)
print("Kein Rabatt. Gesamtpreis:", summe)
elif int(preis1)+ int(preis2)+int(preis3) > 100 and int(preis1)+int(preis2)+int(preis3) < 1000 or int(preis1)+int(preis2)+int(preis3) == 100:
summe = (summe + int(preis1)+ int(preis2)+int(preis3)) - (((int(preis1)+int(preis2)+int(preis3))*5)/100)
print("5% Rabatt. Gesamtpreis:", summe)
elif int(preis1)+int(preis2)+int(preis3) > 1000 or int(preis1)+int(preis2)+int(preis3) == 1000:
summe = (summe + int(preis1)+int(preis2)+int(preis3)) - (((int(preis1)+int(preis2)+int(preis3))*10)/100)
print("10% Rabatt. Gesamtpreis:", summe)
else:
if int(preis1)+int(preis2) < 100:
summe = summe + int(preis1)+ int(preis2)
print("Kein Rabatt. Gesamtpreis:", summe)
elif int(preis1)+ int(preis2) > 100 and int(preis1)+int(preis2) < 1000 or int(preis1)+int(preis2) == 100:
summe = (summe + int(preis1)+ int(preis2)) - (((int(preis1)+int(preis2))*5)/100)
print("5% Rabatt. Gesamtpreis:", summe)
elif int(preis1)+int(preis2) > 1000 or int(preis1)+int(preis2) == 1000:
summe = (summe + int(preis1)+int(preis2)) - (((int(preis1)+int(preis2))*10)/100)
print("10% Rabatt. Gesamtpreis:", summe)
Code: Alles auswählen
Bitte geben Sie den ersten Preis ein: 1
Bitte geben Sie den zweiten Preis ein: x
Kein Rabatt. Gesamtpreis: 1
Traceback (most recent call last):
File "...", line 31, in <module>
if int(preis1)+int(preis2) < 100:
ValueError: invalid literal for int() with base 10: 'x'