print() の位置が違った場合、どうして値ごとに改行されるのですか?

インデントによってループする範囲が変わるからです。
2023年4月26日
ユーザー

お世話になります。動画を見ながらコードを書いていて下記の様に一番最後の print() の位置を間違えたのですが、この場合どうして改行の位置がこうなるのでしょうか?

改行のタイミング?範囲?的なものを解説して頂けるとうれしいです。

scores = [
  {"name": "Taro", "math": 70, "english": 82},
  {"name": "Jiro", "math": 67, "english": 61},
  {"name": "Saburo", "math": 81, "english": 58},
]

print("Name     Math     English")
print("-------- -------- --------")

for score in scores:
    # print(score)
    # print(f"{score['name']:8} {score['math']:8}{score['english']:8}")
    for value in score.values():
        print(f"{value:8}", end="")
        print()

この回答を見るにはプレミアムプランへの登録が必要です

プレミアムプランとは?

このレッスンの質問と回答(2)