import random
# 定义颜色代码 (ANSI)
colors = [
"\033[91m", # 红
"\033[92m", # 绿
"\033[93m", # 黄
"\033[94m", # 蓝
"\033[95m", # 紫
"\033[96m" # 青
]
reset = "\033[0m"
def launch_firework():
color = random.choice(colors)
# --- 第一阶段:升空 (通过打印大量空行模拟向上移动) ---
for i in range(30):
# 每一行都打印很多换行符,把之前的内容顶上去
print("\n" * 2)
# --- 第二阶段:爆炸瞬间 ---
# 打印爆炸的图形
print(" " + color + "*" + reset)
print(" " + color + "/ | \\" + reset)
print(" " + color + "/ | \\" + reset)
print(" " + color + "/___|___\\" + reset)
print(" " + color + "|" + reset)
print(" " + color + "|" + reset)
# 稍微停顿一下(这里其实不需要 sleep,靠输出量就能产生视觉暂留)
# 为了看清,我们多打印几行废话撑开画面
print("\n" * 5)
print(" BOOM! " + color + "💥" + reset)
print("\n" * 5)
# --- 主程序:连放 3 个烟花 ---
print("准备发射...")
launch_firework()
launch_firework()
launch_firework()
print("\n\n=== 表演结束 ===")
aW1wb3J0IHJhbmRvbQoKIyDlrprkuYnpopzoibLku6PnoIEgKEFOU0kpCmNvbG9ycyA9IFsKICAgICJcMDMzWzkxbSIsICAjIOe6ogogICAgIlwwMzNbOTJtIiwgICMg57u/CiAgICAiXDAzM1s5M20iLCAgIyDpu4QKICAgICJcMDMzWzk0bSIsICAjIOiTnQogICAgIlwwMzNbOTVtIiwgICMg57SrCiAgICAiXDAzM1s5Nm0iICAgIyDpnZIKXQpyZXNldCA9ICJcMDMzWzBtIgoKZGVmIGxhdW5jaF9maXJld29yaygpOgogICAgY29sb3IgPSByYW5kb20uY2hvaWNlKGNvbG9ycykKCiAgICAjIC0tLSDnrKzkuIDpmLbmrrXvvJrljYfnqbogKOmAmui/h+aJk+WNsOWkp+mHj+epuuihjOaooeaLn+WQkeS4iuenu+WKqCkgLS0tCiAgICBmb3IgaSBpbiByYW5nZSgzMCk6CiAgICAgICAgIyDmr4/kuIDooYzpg73miZPljbDlvojlpJrmjaLooYznrKbvvIzmiorkuYvliY3nmoTlhoXlrrnpobbkuIrljrsKICAgICAgICBwcmludCgiXG4iICogMikKCiAgICAjIC0tLSDnrKzkuozpmLbmrrXvvJrniIbngrjnnqzpl7QgLS0tCiAgICAjIOaJk+WNsOeIhueCuOeahOWbvuW9ogogICAgcHJpbnQoIiAgICAgICAgICAgICAgIiArIGNvbG9yICsgIioiICsgcmVzZXQpCiAgICBwcmludCgiICAgICAgICAgICAgIiArIGNvbG9yICsgIi8gfCBcXCIgKyByZXNldCkKICAgIHByaW50KCIgICAgICAgICAgICIgKyBjb2xvciArICIvICB8ICBcXCIgKyByZXNldCkKICAgIHByaW50KCIgICAgICAgICAgIiArIGNvbG9yICsgIi9fX198X19fXFwiICsgcmVzZXQpCiAgICBwcmludCgiICAgICAgICAgICAgICIgKyBjb2xvciArICJ8IiArIHJlc2V0KQogICAgcHJpbnQoIiAgICAgICAgICAgICAiICsgY29sb3IgKyAifCIgKyByZXNldCkKCiAgICAjIOeojeW+ruWBnOmhv+S4gOS4i++8iOi/memHjOWFtuWunuS4jemcgOimgSBzbGVlcO+8jOmdoOi+k+WHuumHj+WwseiDveS6p+eUn+inhuinieaagueVme+8iQogICAgIyDkuLrkuobnnIvmuIXvvIzmiJHku6zlpJrmiZPljbDlh6DooYzlup/or53mkpHlvIDnlLvpnaIKICAgIHByaW50KCJcbiIgKiA1KQogICAgcHJpbnQoIiAgICAgICBCT09NISAiICsgY29sb3IgKyAi8J+SpSIgKyByZXNldCkKICAgIHByaW50KCJcbiIgKiA1KQoKIyAtLS0g5Li756iL5bqP77ya6L+e5pS+IDMg5Liq54Of6IqxIC0tLQpwcmludCgi5YeG5aSH5Y+R5bCELi4uIikKbGF1bmNoX2ZpcmV3b3JrKCkKbGF1bmNoX2ZpcmV3b3JrKCkKbGF1bmNoX2ZpcmV3b3JrKCkKCnByaW50KCJcblxuPT09IOihqOa8lOe7k+adnyA9PT0iKQo=