首页 > 解决方案 > 索引号从 0 开始的模数?

问题描述

我正在尝试使用 for 循环(索引从 0 开始)遍历列表,并且我希望某个函数每 10 个索引执行一次。但是,由于我在该函数中将列表中的数字按 10 分组(例如,0-9,10-19,20-29 等),因此 index%10 不起作用。有没有更有效的方法来做到这一点?我下面的代码有效,但我觉得有更好的方法吗?

if(index>1 and index<10):
    if((index)%9 == 0):
         func()
elif(index>10):
    if((index+1)%10 == 0):
         func()

标签: pythonmodulo

解决方案


您仍然使用模 10,因为您想要每十分之一,而不是检查 9,而不是检查零。

if(index % 10 == 9)

Modulo 只得到一个除法的余数。你想要 9、19、29 和 39。如果你把每一个都除以 10,余数是多少?在每种情况下都是 9。


推荐阅读