为什么在循环完成后输出内部print()输出?

时间:2017-07-06 04:32:05

标签: python python-3.x

在下面的代码中,菱形字符(\4)不会立即打印,而是在循环完成后打印。有什么想法吗?

from os import system
from time import sleep

def load():
    system('cls')
    i = 0
    sleep(1)
    print("\n\n\n\n\n\n\n\n\n\n\n\t\t\t Loading ", end=' ')
    for i in range(6):
        sleep(1)
        print("\4", end=' ')
        sleep(2) 
load()  

1 个答案:

答案 0 :(得分:1)

我正在使用Python IDLE进行打印。在Windows cmd中它没有。删除end=' '解决了这个问题,然后每个钻石都打印在一个新行上。

根据您的操作系统,您必须更改行结尾。 查看此页面以获取更多信息:Python print on same line

这适用于Windows:

from os import system
from time import sleep
import sys

def load():
    system('cls')
    i = 0
    sleep(1)
    sys.stdout.write("\n\n\n\n\n\n\n\n\n\n\n\t\t\t Loading ")
    for i in range(6):
        sleep(1)
        sys.stdout.write("\4")
        sys.stdout.flush()
        sleep(2)

load()