У меня есть некоторые данные, которые выглядят следующим образом:ошибка питон для большого числа мод оператора
353: 340122810048577428
354: 363117512048110005
355: 387632532919029223
356: 413766180933342362
357: 441622981929358437
358: 471314064268398780
359: 502957566506000020
360: 536679070310691121
361: 572612058898037559
362: 610898403751884101
363: 651688879997206959
Я пытаюсь найти какой индекс делится на 1 млн.
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
Для этого кода я получаю выход, как:
5.02957566506e+17
359
Но значения в индексе 359 502957566506000020, для которых последние 6 цифр не равны нулю. Какую ошибку я делаю здесь?
ли 'my_data' строку? –
Вы, очевидно, читаете свои ints как поплавки, которые создают потерю точности. Прочитайте свои номера как ints, и это сработает. – Julien
@JulienBernu, какое заявление следует изменить. – shrey