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

Python实现字符动画打印superstar时竖向输出问题咨询

Python字符画横向动态输出解决方案

问题根因

原有代码的遍历逻辑为逐个输出每个字母的所有行内容,导致每个字母的字符画上下堆叠,最终整体竖向排列,不符合横向拼接的预期。

修复方案

import time
import sys

name = 'superstar'
word = {
    's': [
        ' _ ',
        '|_ ',
        ' _|'
    ],
    'u': [
        '| |',
        '|_|',
        '   '
    ],
    'p': [
        ' _ ',
        '|_|',
        '|  '
    ],
    'e': [
        ' _ ',
        '|_ ',
        '|_ '
    ],
    'r': [
        ' _ ',
        '|_|',
        '|\\ '
    ],
    't': [
        '___',
        ' | ',
        ' | '
    ],
    'a': [
        '  _  ',
        ' /_\\ ',
        '/   \\'
    ]
}

# 按行优先顺序输出
for line_idx in range(3):
    for char in name:
        current_line = word[char][line_idx]
        # 逐字符打印实现延时动画
        for c in current_line:
            print(c, end='')
            sys.stdout.flush()
            time.sleep(0.1)
    # 整行输出完成后再换行
    print()

核心修改点

  • 字符画结构调整:将每个字母的多行字符串改为列表存储,每一项对应一行内容,同时补全高度不足3行的字母的空行,避免排版错位
  • 输出逻辑重构:将原来「先遍历字母、再输出单字母所有行」的顺序,改为「先遍历行号、再输出所有字母的当前行内容」,无需额外控制光标即可实现横向拼接
  • 动画效果保留:逐字符打印每行内容,打印后立刻刷新缓冲区,配合0.1秒延时保留动态效果,整行输出完成后再统一换行

如果需要实现更复杂的终端光标位置控制(比如在已输出区域修改内容),可以使用Python内置的curses库操作终端光标坐标。


内容的提问来源于stack exchange,提问作者dinesh kumar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 11:00:03