打印两个相邻的有换行符的字符串

我目前正在尝试创建一个基于控制台的数字时钟,假设它是下午 12 点,我需要我的代码来输出一个:

    ??
    ??
    ??
    ??
    ??

和两个:

??????
    ??        
??????
??
??????

彼此相邻,发生的事情是这样的:

    ??
    ??
    ??
    ??
    ??
??????
    ??        
??????
??
??????

我希望有一个人可以帮助我!谢谢!

回答

您可以splitlines,然后zip将结果列表放在一起并打印对:

>>> for pair in zip(*map(str.splitlines, (one, two))): 
>>>     print(*pair) 
...
    ?? ??????
    ??     ??
    ?? ??????
    ?? ??
    ?? ??????

如果您想随着时间的推移更新这些值,这将不会真正起作用,但是,使用print,因为您无法返回以覆盖以前的行。相反,您可能想要查看curses. 非常简单的例子,只需循环两位数:

import curses, time, itertools
times = itertools.cycle([(one, two), (two, one)])

s = curses.initscr()
while True:
    s.clear()
    for i, d in enumerate(next(times)):
        for k, l in enumerate(d.splitlines()):
            s.addstr(k, i*7, l)
    s.refresh()
    time.sleep(1)


以上是打印两个相邻的有换行符的字符串的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>