Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
对于c+中的循环+;和蟒蛇 我对Python非常陌生。在C++和Python中有一个小的查询。如果在C,C++中修改变量 i>代码>,如下面的例子所示,新的值 i>代码>在下一次迭代中反映,但是在Python中for for循环不是这样。当确实需要跳过某些迭代而不实际使用诸如continue等函数时,如何在python中处理它_C++_Python_For Loop - Fatal编程技术网

对于c+中的循环+;和蟒蛇 我对Python非常陌生。在C++和Python中有一个小的查询。如果在C,C++中修改变量 i>代码>,如下面的例子所示,新的值 i>代码>在下一次迭代中反映,但是在Python中for for循环不是这样。当确实需要跳过某些迭代而不实际使用诸如continue等函数时,如何在python中处理它

对于c+中的循环+;和蟒蛇 我对Python非常陌生。在C++和Python中有一个小的查询。如果在C,C++中修改变量 i>代码>,如下面的例子所示,新的值 i>代码>在下一次迭代中反映,但是在Python中for for循环不是这样。当确实需要跳过某些迭代而不实际使用诸如continue等函数时,如何在python中处理它,c++,python,for-loop,C++,Python,For Loop,c++中循环的for for(int i=0;i<5;++i) { if(i==2) i=i+2; cout<<i<<endl; } python中循环的for for i in range(5): if i==2: i=i+2 print i 输出 0 1 4 0 1 4 3 4 这是因为在python中,在循环的每次迭代中,变量i被选为范围(5)中的下一个元素。但是,在C++中,

c++中循环的
for

for(int i=0;i<5;++i)
{   
   if(i==2)
    i=i+2;

   cout<<i<<endl;
}
python中循环的
for

for i in range(5):
     if i==2:
        i=i+2
     print i
输出

0

1

4
0

1

4

3

4

这是因为在python中,在循环的每次迭代中,变量
i
被选为
范围(5)
中的下一个元素。但是,在C++中,变量<代码> i <代码>由循环增量和循环内发生的事情来管理。< /p> < p>这是因为<代码>范围(5)< /> >是代码> [01,1,2,3,4] <代码> >代码> i(范围)(5)< /> >因此<代码> > i [01,1,3.3~4]

在循环的每次迭代中将
i
变量设置为
范围(5)
迭代器的输出。虽然您可以在循环中修改,但它会被覆盖。

i
在每次迭代中都会重置,这意味着在下一个循环中忽略对i的任何变异。正如Daniel Fischer在评论中所说,如果您想在Python中实现这一点,请使用while循环

就像:

for (int i = 0; i < 5; ++i) {
    int x = i;
    if (x == 2) {
        x = x + 2;
    }
    std::cout << x << std::endl;
}
for(int i=0;i<5;++i){
int x=i;
如果(x==2){
x=x+2;
}

STD::CUT

我一般建议不要修改C++中的迭代变量,因为这会使代码很难遵循。 在python中,如果您事先知道要迭代哪些值(并且没有太多的值!),您可以构建这些值的列表

for i in [0,1,4]:
    print i
当然,如果您真的必须在Python中更改迭代变量,您可以使用while循环

i = 0
while i < 5:
    if i==2:
        i=i+2
    print i
    i = i + 1
i=0
当我<5时:
如果i==2:
i=i+2
打印i
i=i+1

在Python中,使用
while
来执行这些操作。