Ich habe einige Daten, die wie folgt aussieht:Python Fehler für große Zahl mod Betreiber
353: 340122810048577428
354: 363117512048110005
355: 387632532919029223
356: 413766180933342362
357: 441622981929358437
358: 471314064268398780
359: 502957566506000020
360: 536679070310691121
361: 572612058898037559
362: 610898403751884101
363: 651688879997206959
ich zu finden bin versucht, welcher Index um 1 Million teilbar ist.
index = my_data[:,0]
values = my_data[:,1]
k = 0
for i in values:
k += 1
if i % 1000000 == 0 :
print i
break
print k-1
Für diesen Code I-Ausgang, wie immer bin:
5.02957566506e+17
359
Aber der Wert bei Index 359 ist 502957566506000020, für die die letzten 6 Ziffern sind nicht Null. Welchen Fehler mache ich hier?
Ist 'my_data' einen String? –
Sie lesen Ihre Ints offensichtlich als Floats, was zu Präzisionsverlusten führt. Lies deine Zahlen als Ints und es wird funktionieren. – Julien
@JulienBernu welche Aussage sollte ich ändern? – shrey