Python中循环的a不改变for循环括号中的a,
Python中for循环括号中的a改变循环中的a。
C语言中循环中的a可以改变for循环括号中的a,
C语言中for循环括号中的a可以改变循环中的a。
C语言中的for循环
#include <stdio.h>
int main ()
{
/* for 循环执行 */
for( int a = 10; a < 20; a++ )
{
printf("a 的值: %d\n", a);
a++;
printf("aaaaaa 的值: %d\n", a);
}
return 0;
}
结果展示
a 的值: 10 aaaaaa 的值: 11 a 的值: 12 aaaaaa 的值: 13 a 的值: 14 aaaaaa 的值: 15 a 的值: 16 aaaaaa 的值: 17 a 的值: 18 aaaaaa 的值: 19
Python中的for循环
for a in range(0, 20):
print('a的值:', a)
a += 1
print('aaaaaa的值:', a)
结果展示
a的值: 0
aaaaaa的值: 1
a的值: 1
aaaaaa的值: 2
a的值: 2
aaaaaa的值: 3
a的值: 3
aaaaaa的值: 4
a的值: 4
aaaaaa的值: 5
a的值: 5
aaaaaa的值: 6
a的值: 6
aaaaaa的值: 7
a的值: 7
aaaaaa的值: 8
a的值: 8
aaaaaa的值: 9
a的值: 9
aaaaaa的值: 10
a的值: 10
aaaaaa的值: 11
a的值: 11
aaaaaa的值: 12
a的值: 12
aaaaaa的值: 13
a的值: 13
aaaaaa的值: 14
a的值: 14
aaaaaa的值: 15
a的值: 15
aaaaaa的值: 16
a的值: 16
aaaaaa的值: 17
a的值: 17
aaaaaa的值: 18
a的值: 18
aaaaaa的值: 19
a的值: 19
aaaaaa的值: 20
为什么会这样呢?
其原因很明显
在Python中,range(arg1,arg2)是一个迭代器,而使用“in”原因也是一样,不会因为循环内容而改变迭代器中的内容,所以才会出现这种原因。