大量 mod 运算符的 python 错误

标签 python

我有一些看起来像这样的数据:

353: 340122810048577428
354: 363117512048110005
355: 387632532919029223
356: 413766180933342362
357: 441622981929358437
358: 471314064268398780
359: 502957566506000020
360: 536679070310691121
361: 572612058898037559
362: 610898403751884101
363: 651688879997206959

我正在尝试找出哪个索引可以被 100 万整除。

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 位数字不为零。我在这里犯了什么错误?

最佳答案

不要在 Python 中使用像 i 这样的索引变量。我们在 21 世纪。

s = """353: 340122810048577428
354: 363117512048110005
355: 387632532919029223
356: 413766180933342362
357: 441622981929358437
358: 471314064268398780
359: 502957566506000020
360: 536679070310691121
361: 572612058898037559
362: 610898403751884101
363: 651688879997206959"""


for line in s.split("\n"):
    k, v = line.split(":")
    if int(v.strip()) % 1000000 == 0:
        print(k)

输出:无。

关于大量 mod 运算符的 python 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38458132/

相关文章:

python - 操作值与 HH :MM:SS format - python 不匹配

python - 在 Python 中,有没有办法在可迭代对象的每个项目上调用一个方法?

python - 毫秒到 HH :MM:SS time format

python - 使用标准库 python 创建波形表示

python - Distutils、旧版 rpm 和自定义规范文件

python - CudNN 错误运行 TensorFlow : Could not set cudnn filter descriptor: CUDNN_STATUS_BAD_PARAM

Python 和 Netbios

python - 对象属性的最大函数

python - python 上的迭代最近点 (ICP) 实现

python - 计算量大的站点的最佳服务器配置