您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

为什么Python for loop不能像C for loop一样工作?

为什么Python for loop不能像C for loop一样工作?

在Python中,循环不会递增i,而是从可迭代对象(在这种情况下为list)分配值。因此,i在for循环内部进行更改不会“混淆”该循环,因为在下一次迭代i中将仅分配下一个值。

在您提供的代码中,当i值为6时,它将在循环中递减,以便将其更改为5,然后进行打印。在下一次迭代中,Python只需将其设置为list中的下一个[0,1,2,3,4,5,6,7,8,9],即7,依此类推。没有更多值可使用时,循环终止。

当然,您在提供的C循环中获得的效果仍然可以在Python中实现。由于每个for循环都是美化的while循环,因此可以这样转换:

for (init; condition; term) ...

等效于:

init
while(condition) {
    ...
    term
}

然后,您的for无限循环可以用Python编写为:

i = 0
while i < 10:
    if i > 5:
        i -= 1
    print i
    i += 1
python 2022/1/1 18:33:11 有503人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶