Probleme mit Null
Verfasst: Sonntag 20. August 2023, 11:10
In meinen neuen Aufgaben zu negativen Zahlen, ist es jetzt möglich, dass als Ergebnis Null herauskommt. Die wird aber von meinem Kontrollalgorithmus nicht akkzeptiert. Bei der Aufgabenstellung wird das Ergebnis (wie alles andere auch ) in der Tabelle "Protokoll" gespeichert. bei den negativen Zahlen kommen nur entweder ganze Zahlen vor oder Kommazahlen mit Zehnteln und die schicke ich auch ans Protokoll, bei der Kontrolle wird der Wert aus dem Protokoll geholt und mit der Eingabe verglichen und da kommt der Wert 0E-7 zurück und dieser ist angeblich nicht gleich 0.
Hier wird der Wert an das Protokoll geschickt:
... hier wird er wieder ausgelesen und an die Kontrolle geschickt:
und hier kontrolliert:
Die Ausgabe:
und mein Feld im Protokoll:
Hier wird der Wert an das Protokoll geschickt:
Code: Alles auswählen
print("Ergebnis: ", ergebnis)
protokoll = Protokoll.objects.create(
user = user, titel = titel, sj = user.sj, hj = user.hj, kategorie = kategorie, text = text, pro_text = pro_text, variable = variable, frage = frage, einheit = einheit,
anmerkung = anmerkung, wert = ergebnis, loesung = lsg, hilfe_id = hilfe_id, parameter = parameter, wertung = "a", typ = typ, typ2 = typ2, aufgnr = zaehler.aufgnr,
)
Code: Alles auswählen
print("P_Wert: ",protokoll.wert)
wertung, rueckmeldung = kontrolle(eingabe, protokoll.wert, protokoll.loesung, protokoll.id)
Code: Alles auswählen
print("P_Wert: ",protokoll.wert)
wertung, rueckmeldung = kontrolle(eingabe, protokoll.wert, protokoll.loesung, protokoll.id)
Code: Alles auswählen
Ergebnis: 0.0
[20/Aug/2023 12:03:49] "GET /negative-zahlen/ HTTP/1.1" 200 2320
P_Wert: 0E-7
Wert: 0E-7 ?= 0
False
Code: Alles auswählen
wert = models.DecimalField('Wert', null=True, max_digits=20, decimal_places=7)