我有一个带有100次迭代的for循环,我想每10次迭代更改一个变量的值。一种方法是:
for i in range(100):
if i < 10:
var = 1
elif i < 20 :
var = 1.5
...
但是我不想有10条if语句。有更好的方法吗?在这种情况下,该变量每10次迭代将以相同的量变化。
答案 0 :(得分:2)
您正在寻找modulo (%)运算符。从文档中:
%(模)运算符从第一个参数除以第二个参数得出余数。
实际上是11 = 10 * 1 +1因此11%10 = 1,但是30 = 10 * 3 + 0因此30%10 = 0!而您正在寻找的所有这些因素都是十分之一:
increment = 0.5
for i in range(100):
if i % 10 == 0:
var += increment
答案 1 :(得分:1)
有这个模运算符%
for i in range(100):
if 0 == i % 10:
var = var + 0.5
或者如果您想在第一次迭代之外更改var:
for i in range(100):
if i and 0 == i % 10:
var = var + 0.5