Hilfe versteh den Unterschied zwischen den 2 codes nicht?
Ich lerne aktuell Python und habe Übungsaufgaben bekommen, diese hab ich bis jetzt alle geschafft.
Bei dieser Aufgabe versteh ich gerade die Welt nicht mehr, für mich sehen beide codes gleichwertig aus.
Der erste ist von mir der 2te vom Dozent. Das Problem ist bei ihm (1,6) kommt das richtige Ergebnis raus bei mir das Falsche (0,4)
kann mir jemand erklären was hier falsch geloffen ist und falls jemand fragen sollte, nein ich kann meinen Dozenten nicht fragen da es vorgefertigte Videos sind und ich da 1 Woche auf eine Rückmeldung warte.
1 Antwort
Was ist überhaupt die Aufgabenstellung? Und welcher ist nun dein Code und welcher die Vorlage?
Ein paar Sachen springen zumindest ins Auge:
elif (work >= 20) and (work >= 50):
Das ist eine seltsame Bedingung. Wenn work >= 50 ist, ist es zwangsläufig auch >= 20.
(new_prices.append(work * 0.20))
Wozu eigentlich diese Klammern?
Der Code soll zahlen erkennen und diese wenn die Bedingung erfüllt ist mit einem Rabatt in meinem fall wenn Preis kleiner als 20 dann gebe ein Rabatt von 20 % auf den preis und füge diese der liste "new_price" zu
Das ist bei der zweiten Schleife genau so gelöst - die ist einfach und klar. Ein Rabatt von 20% bedeutet, dass der Preis * 0.8 genommen werden muss.
Bei der ersten Schleife (die wohl deine ist) stimmt die Prozentrechnung nicht und es gibt eben diese seltsame Zusatzbedingung mit 50 und dem Faktor 0,4...?
Da ist das Problem glaube ich schon gelöst.
Wenn du 20% Rabatt haben willst musst du mir 0.8 multiplizieren da dann 80% übrig bleibt vom vorherigen und 20% wird abgezogen wenn ich es richtig verstanden habe 2*0.2 = 0.4 und 2*0.8 = 1.6 das sollte es hoffentlich geklärt haben. Würde mich über eine Rückmeldung freuen
Der Code soll zahlen erkennen und diese wenn die Bedingung erfüllt ist mit einem Rabatt in meinem fall wenn Preis kleiner als 20 dann gebe ein Rabatt von 20 % auf den preis und füge diese der liste "new_price" zu
also da hab ich die das größer kleiner Symbol wohl vertauscht und bei dem (new_prices.append(work * 0.20)) war ich mir sicher das die dazu gehören. Der Code der zum schluss kommt mit der Variable price ist vom Dozenten.