python同时打印到多行

时间:2019-05-11 00:29:36

标签: python

我正在制作一个基于文本的游戏,并且我试图每次在每一列上一次打印此代码一个字符。

'''###############

让我们开始...

###############'''

我不知道如何使它一次出现一列。

2 个答案:

答案 0 :(得分:0)

嗯,尽管您的问题含糊不清,但我仍然想回答这个问题。也许这就是您要查找的内容,它一次打印一列(每行一个字符):

import subprocess
import platform
from time import sleep


def clear_screen():
    # thanks to: https://stackoverflow.com/a/23075152/2923937
    if platform.system() == "Windows":
        subprocess.Popen("cls", shell=True).communicate()
    else:
        print("\033c", end="")


# obviously you can create a function to convert your string into this
# list rather than doing it manually like I did, but that is another question :p.
views = ['#\nh\n#', '##\nhe\n##', '###\nhel\n###', '####\nhell\n####', '#####\nhello\n#####']

for view in views:
    clear_screen()
    print(view)
    sleep(0.5)

答案 1 :(得分:0)

如果您已经为字符串中的每个字符执行了print(c, end=''),只需将flush=True添加到对print()的呼叫中。睡眠呼叫将引入足够的延迟,以便您可以一次看到一个字符:

>>> import time
>>> s = '''###############
... Let us begin...
... ###############'''
>>> for c in s:
...    print(c, end='', flush=True)
...    time.sleep(0.1)