小编典典

并排打印多行字符串

python

我想在同一行上打印列表中的项目。我尝试过的代码:

dice_art = ["""
 -------
|       |
|   N   |
|       |
 ------- ""","""
 -------
|       |
|   1   |
|       |
 ------- """] etc...

player = [0, 1, 2]
for i in player:
    print(dice_art[i], end='')

输出=

ASCII0
ASCII1
ASCII2

我想输出到=

ASCII0 ASCII1 ASCII2

此代码仍在新行上打印我的模具的ASCII艺术表示。我想将其打印在同一行上,以节省空间并在一个屏幕上显示每个玩家的状态。


阅读 213

收藏
2021-01-20

共1个答案

小编典典

由于的元素dice_art是多行字符串,因此要比这更难。

首先,从每个字符串的开头删除换行符,并确保ASCII图形中的所有行都具有相同的长度。

然后尝试以下

player = [0, 1, 2]
lines = [dice_art[i].splitlines() for i in player]
for l in zip(*lines):
    print(*l, sep='')

如果您将描述的更改应用于ASCII艺术作品,则将打印代码

 -------  -------  ------- 
|       ||       ||       |
|   N   ||   1   ||   2   |
|       ||       ||       |
 -------  -------  -------
2021-01-20