print() 输出 ASCII 码 + 字符而不是彩色文本

print() outputs ASCII code + character instead of colored text

我参考了 并将文本更改为幽灵 ASCII 艺术,但输出不是打印彩色艺术而是打印 ascii 代码 + [=11 中使用的符号=].

import colorama
import random


    
text = """
     .-----.
   .' -   - '.
  /  .-. .-.  \
  |  | | | |  |
   \ \o/ \o/ /
  _/    ^    \_
 | \  '---'  / |
 / /`--. .--`\ \
/ /'---` `---'\ \
'.__.       .__.'
    `|     |`
     |     \
     \      '--.
      '.        `\
        `'---.   |
              ) /
              \/
      """        
colors = list(vars(colorama.Fore).values())
colored_chars = [random.choice(colors) + char for char in text]
print(''.join(colored_chars))

输出:

在使用颜色打印到控制台之前尝试调用 os.system('cls')

在您的字符串前也包含 r"" 以正确格式化它(对我有用)。

import colorama
import random
import os



text = r"""
     .-----.
   .' -   - '.
  /  .-. .-.  \
  |  | | | |  |
   \ \o/ \o/ /
  _/    ^    \_
 | \  '---'  / |
 / /`--. .--`\ \
/ /'---` `---'\ \
'.__.       .__.'
    `|     |`
     |     \
     \      '--.
      '.        `\
        `'---.   |
              ) /
              \/
      """

os.system("cls")
colors = list(vars(colorama.Fore).values())
colored_chars = [random.choice(colors) + char for char in text]
print(''.join(colored_chars))