1

文字を1行ずつ印刷したい。このコードが最終的に行うことは、行全体を一度に 1 文字ずつ読み取ることです (各文字の間に一時停止があるため、文字を正しく反復していることがわかります)。その行が終了すると、すべての文字が出力されます。一度。

for line in lines:
    for ch in line:
        print(ch, end = ' ')
        os.system("pause")

しかし、もしそうなら:

for line in lines:
    for ch in line:
        print(ch, end = '\n') #same effect as print(ch)
        os.system("pause")

改行を含む1文字を出力し、次にシステムの一時停止を出力します。

最初のシナリオでは正しく印刷されないのに、2 番目のシナリオでは機能するのはなぜですか?

また、ランダムテストを実行しました:

print ("is", end=' ')
os.system("pause")
print("newline?")

システムが一時停止するまでメッセージを出力しませんでした。一時停止の前に「is」を出力しなかったのはなぜですか? 私が理解していないよりも、 print() 関数のいくつかの隠された仕組みがあるようです。誰か説明がありますか?

4

1 に答える 1