Python循环输出为何缺失'-World'?零基础编程新手求助
为什么输出里没有'-World'?
先看你的代码和实际输出:
输入代码:
name = 'World' line = '-' for char in name: print(line) line = line + char
实际输出:
- -W -Wo -Wor -Worl
问题出在循环的执行顺序上:你是先打印当前的line,再把name里的字符追加到line后面。
name = 'World'包含5个字符(W、o、r、l、d),所以循环会完整执行5次,每一次的具体操作是:
- 第1次循环:打印初始的
-,然后line更新为-W - 第2次循环:打印
-W,然后line更新为-Wo - 第3次循环:打印
-Wo,然后line更新为-Wor - 第4次循环:打印
-Wor,然后line更新为-Worl - 第5次循环:打印
-Worl,然后line更新为-World
看到没?第五次循环结束后,line确实变成了-World,但此时循环已经跑完,没有代码再去打印这个最终的结果。
如果想要输出里包含-World,有两种简单的调整方式:
- 把打印操作放到
line更新之后:
name = 'World' line = '-' for char in name: line = line + char print(line)
这样每次循环先更新line再打印,输出就会是-W、-Wo、-Wor、-Worl、-World
- 在循环结束后额外打印一次最终的
line:
name = 'World' line = '-' for char in name: print(line) line = line + char print(line) # 循环结束后打印最终的line
这样输出就会在原有5行的基础上,多一行-World
内容的提问来源于stack exchange,提问作者pythonlearner7
相关产品推荐
相关产品推荐

