首页 > 解决方案 > 如何在这个范围内打印奇数,即使增加 2 也能得到所有的数字?

问题描述

我的代码没有给出想要的结果,我想将 1 到 10 的奇数一个一个地添加到这个列表中,但它正在将它们全部添加。

    l=[]
    for i in range(1,10):
        l.append(i)
        i=i+2
    print(l)

我想在列表中存储 1,3,5,7,9。

标签: python

解决方案


python中的迭代器不能在for循环体内动态改变。修改当前值不会影响迭代中接下来出现的内容。

所以如果你想打印奇数,你应该使用像这样的内置步长参数

l=[]
for i in range(1, 10, 2):
    l.append(i)
print(l)

在这里,我们使用 2 的步长在每次迭代后将可迭代对象增加 2。


推荐阅读