Python:根据for循环迭代更改变量

时间:2020-04-29 07:19:34

标签: python-3.x

我有一个带有100次迭代的for循环,我想每10次迭代更改一个变量的值。一种方法是:

for i in range(100):

    if i < 10:
        var = 1
    elif i < 20 :
        var = 1.5
    ... 

但是我不想有10条if语句。有更好的方法吗?在这种情况下,该变量每10次迭代将以相同的量变化。

2 个答案:

答案 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