加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

在Python中更改循环内的循环变量

发布时间:2020-12-16 23:18:37 所属栏目:Python 来源:网络整理
导读:这个问题在这里已经有一个答案: Scope of python variable in for loop7个 我试图做一些简单的事情来改变我正在迭代的变量(i),但是我在Python和C中都有不同的行为. 在Python中, for i in range(10): print i,if i == 2: i = 4; 我得到0 1 2 3 4 5 6 7 8 9,
这个问题在这里已经有一个答案:> Scope of python variable in for loop7个
我试图做一些简单的事情来改变我正在迭代的变量(i),但是我在Python和C中都有不同的行为.

在Python中,

for i in range(10):
    print i,if i == 2:
        i = 4;

我得到0 1 2 3 4 5 6 7 8 9,但相当于C:

int i;
for (i = 0; i < 10; i++) {
    printf("%d",i);
    if (i == 2)
        i = 4;
}

我得到01256789(注意,如预期的那样,数字3和4不会出现).

这里发生了什么

解决方法

你没有做你认为的事情.
例如:
for i in range(10):

将不断设定我是0-10范围内的下一个元素,无论什么.

如果你想在python中做同样的事情你会做:

i = 0
while i < 10:
    print(i)
    if i == 2:
        i = 4
    else:      # these line are
        i += 1 # the correct way
    i += 1 # note that this is wrong if you want 1,2,4,5,6,7,8,9

如果您尝试将其转换为C,那么您必须记住,在for循环中的我将永远添加到我.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读