ich habe ein seltsames Problem:
Um die Konsistenz einer Datenbanktabelle (SQLite) zu prüfen, berechne ich für jeden Datensatz die Summe der Einträge (float). Die sollte in jedem Fall 0 sein - sonst stimmt etwas mit den Daten nicht.
Das klappt bei knapp zweitausend Datensätzen auch problemlos. Bei einem Datensatz kommt aber ein mir völlig unverständliches Ergebnis heraus. Wenn ich einen beliebigen Wert in dem Datensatz ändere, wird richtig berechnet, aber genau bei dieser Wertkombination liefert mir das Skript einfach Quatsch.
Wenn jemand eine Idee hat, woran das liegen könnter oder einen Fehler in meinem Skript entdeckt, würde ich mich über einen Tipp freuen!
Code: Alles auswählen
zeile = cursor.fetchone()
while zeile:
summe = zeile[3]
if not summe:
summe = 0
summe = - summe
for i in range(4,15):
zahl = zeile[i]
if not zahl:
zahl = 0
summe = summe + zahl
if summe != 0:
for i in range(3,15):
print zeile[i]
print "Summe: "+ str(summe)
print"\n"
zeile = cursor.fetchone()
Code: Alles auswählen
-4.2
None
None
None
None
None
-5.0
0.8
None
None
None
None
Summe: 2.22044604925e-16