|  | 
 
| 
member = ['a', 80, 'b', 90, 'c', 100 ]
x
马上注册,结交更多好友,享用更多功能^_^您需要 登录 才可以下载或查看,没有账号?立即注册  i=0
 for i in range(len(member)):
 print(member[i],member[i+1])
 i+=2
 
 我的目标是按顺序出来“a 80”这样的三行,但是用上面那个代码会出现下面的情况
 a 80
 80 b
 b 90
 90 c
 c 100
 然后带一句报错
 
 是因为for循环中途不能改变变量的值吗(所以最后一句i+=2没用)?
 
 本帖最后由 SHRS23 于 2020-2-2 15:01 编辑 
>你可以修改i的值,但每次循环之后for语句又会重新对i赋值,所以看起来是没用的,另外即使在C语言这种可以直接在循环体内修改循环变量的语言里也是不建议这么做的,可以改用while循环来实现修改循环变量的功能。
 
>另外你想实现的功能可以通过改变range()函数的参数实现。 
试试这个代码:
 复制代码
member = ['a', 80, 'b', 90, 'c', 100 ]
for i in range(0, len(member), 2):
    print(member[i],member[i+1])
>还有一点是 i = 0 这个是没有必要的,i 的声明(定义)以及赋初值都是在循环语句 for i in xxxx 中完成的,这一点也是与C语言不同的。 | 
 |