You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何实现多个ASCII艺术骰子图形横向而非纵向打印

实现骰子横向排列的解决方法

核心逻辑是调整输出顺序:不再逐个打印完整骰子,而是先收集所有骰子的每一行文本,再按行拼接所有骰子的同一行内容后统一打印。

修改后的可运行代码

import random

# 生成5个随机骰子数值
dice = [random.randint(1,6) for _ in range(5)]

def get_die_lines(die):
    # 函数改为返回单个骰子的5行内容,不直接打印
    if die == 1:
        return [
            "=========",
            "|       |",
            "|   O   |",
            "|       |",
            "========="
        ]
    elif die == 2:
        return [
            "=========",
            "| O     |",
            "|       |",
            "|     O |",
            "========="
        ]
    elif die == 3:
        return [
            "=========",
            "| O     |",
            "|   O   |",
            "|     O |",
            "========="
        ]
    elif die == 4:
        return [
            "=========",
            "| O   O |",
            "|       |",
            "| O   O |",
            "========="
        ]
    elif die == 5:
        return [
            "=========",
            "| O   O |",
            "|   O   |",
            "| O   O |",
            "========="
        ]
    else:
        return [
            "=========",
            "| O   O |",
            "| O   O |",
            "| O   O |",
            "========="
        ]

# 收集所有骰子的行数据
all_dice = [get_die_lines(num) for num in dice]

# 逐行拼接打印所有骰子
for line_num in range(5):
    print(' '.join(die[line_num] for die in all_dice))

# 后续游戏内容直接在下方输出即可
print("\n后续游戏内容展示区域")

额外说明

  • 如果需要调整骰子之间的间距,修改拼接时的分隔符即可,比如把' '替换为' '可以加大两个骰子之间的空白距离。
  • 不需要额外控制光标位置,打印完骰子后直接正常输出后续内容即可,会自动排列在骰子下方。

内容的提问来源于stack exchange,提问作者TG Imagine

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 11:36:05