并排打印多行字符串

发布于 2021-01-29 14:59:47

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

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艺术表示。我想将其打印在同一行上,以节省空间并在一个屏幕上显示每个玩家的状态。

关注者
0
被浏览
98
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    由于的元素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   |
    |       ||       ||       |
     -------  -------  -------
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看