You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python函数内两个连续for循环仅第一个运行的问题求助

问题分析

你的代码逻辑本身是没问题的,两个for循环都会被执行——第一个循环遍历range(10)的0到9,每次把x减1后打印;第二个循环遍历range(10)的0到9,每次把y加1后打印。

你说“只有第一个循环会执行”,大概率是输出显示的问题:默认print()函数会在每个输出后加换行符,所以第二个循环的内容会在第一个循环的所有输出之后换行显示,你可能没注意到这部分;也有可能是运行环境的小bug,比如输出缓冲区没及时刷新、终端显示被折叠了。

修正后的代码

如果想得到空格连续分隔的目标输出,可以修改print()的end参数,让每个输出后用空格代替默认的换行:

def loop_code():
    for x in range(10):
        x -= 1
        print(x, end=' ')
    for y in range(10):
        y += 1
        print(y, end=' ')
    # 最后加个换行,让输出结尾更规范
    print()
loop_code()

运行这段代码后,就能得到你想要的结果:-1 0 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 9 10

顺便补充个小知识点:在Python的for循环里,修改循环变量(比如x -=1或y +=1)不会影响循环的迭代次数,因为每次迭代时,循环变量都会被重新赋值为可迭代对象(这里是range(10))的下一个元素。

内容的提问来源于stack exchange,提问作者Mitch

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.09 08:47:32