首页 > 解决方案 > 每第二次迭代增加一个值

问题描述

我想每第二次迭代将一个值增加一个固定值。上面的代码解决了这个问题,但我想知道这个问题是否有更好的解决方案?在我的现实世界问题中,数据集更大,编写 if 语句可能不是一个有效的解决方案。我可以更好地使用计数吗?

iter= range(6)

start = 0.25
increase = 0.01

for count, i in enumerate(iter):
    print(count)
    if count in [1,3,5]:
        start = start + increase
        print(start)

标签: python

解决方案


您可以使用%告诉您它是偶数还是奇数的运算符:

print(1%2)  # 1
print(2%2)  # 0
print(3%2)  # 1
print(4%2)  # 0
print(5%2)  # 1

在这种情况下,您使用计数器:

for count, i in enumerate(iter):
    print(count)
    if count % 2:  # It gives only 1 or 0
        start += increase
        print(start)

推荐阅读