我正在制作一个基于文本的游戏,并且我试图每次在每一列上一次打印此代码一个字符。
'''###############
让我们开始...
###############'''
我不知道如何使它一次出现一列。
答案 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)