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
相关产品推荐
相关产品推荐

