为什么print语句有时需要缩进,而在某些情况下缩进print会破坏代码?

2024-09-24 22:32:04 发布

您现在位置:Python中文网/ 问答频道 /正文

比如说

cast = ["Barney Stinson", "Robin Scherbatsky", "Ted Mosby", "Lily Aldrin", "Marshall Eriksen"]
heights = [72, 68, 72, 66, 76]

//loop

for i, name in enumerate(cast):
    cast[i] = name + " " + str(heights[i])


print(cast)

如果我缩进代码以将其包含在for循环中,print语句将返回输出的多个副本,并且顺序完全混乱。但是,当我使用print语句而不使用缩进时,当我按顺序返回名称和高度时,一切都很好。显然,循环是问题所在,但这不是我第一次遇到这种情况,我希望有一个全面深入的解释。谢谢


Tags: namefor顺序语句robinprinttedcast
1条回答
网友
1楼 · 发布于 2024-09-24 22:32:04

像C、Go、Java等语言使用大括号({})来分隔代码块,而Python使用缩进

所以这个代码

for i, name in enumerate(cast):
    cast[i] = name + " " + str(heights[i])
print(cast)

将首先遍历cast并重新分配其元素(缩进块),然后再转到下一个语句,在本例中是print

另一方面,这个代码

for i, name in enumerate(cast):
    cast[i] = name + " " + str(heights[i])
    print(cast)

将为for循环的每个迭代打印整个cast

缩进是Python核心设计的一部分

相关问题 更多 >