打印两个相邻的有换行符的字符串
我目前正在尝试创建一个基于控制台的数字时钟,假设它是下午 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)