【python 】新年祝福 新年祝福、工作顺利、学习进步等多条祝福语

包含新年祝福、工作顺利、学习进步等多条祝福语,并且用不同的图案和动画效果来展示这些祝福。以下是一个创意实现:

创意设计

  1. 新年祝福:用雪花图案逐渐出现,表示新年的到来。

  2. 工作顺利:用向上的箭头图案逐渐出现,表示事业蒸蒸日上。

  3. 学习进步:用书本图案逐渐出现,表示知识的积累。

代码实现

Python复制

import time
import os
import random

# 逐个字符打印祝福语
def print_greeting(greeting):
    for char in greeting:
        print(char, end="", flush=True)
        time.sleep(0.1)  # 每个字符之间暂停0.1秒
    print("\n")

# 打印雪花图案
def print_snowflakes():
    print("新年快乐")
    for _ in range(5):  # 雪花逐渐出现5次
        for row in range(5):
            for col in range(5):
                if random.random() < 0.3:  # 30%的概率打印雪花
                    print("*", end=" ")
                else:
                    print(" ", end=" ")
            print()
        time.sleep(0.5)  # 每次打印后暂停0.5秒
        os.system('cls' if os.name == 'nt' else 'clear')  # 清屏

# 打印向上的箭头图案
def print_arrows():
    print("工作顺利")
    for _ in range(5):  # 箭头逐渐出现5次
        for row in range(5):
            for col in range(5):
                if row == 4 or (row == 3 and col == 2) or (row == 2 and col in [1, 3]) or (row == 1 and col == 2):
                    print("^", end=" ")
                else:
                    print(" ", end=" ")
            print()
        time.sleep(0.5)  # 每次打印后暂停0.5秒
        os.system('cls' if os.name == 'nt' else 'clear')  # 清屏

# 打印书本图案
def print_books():
    print("学习进步")
    for _ in range(5):  # 书本逐渐出现5次
        for row in range(5):
            for col in range(5):
                if (row in [0, 4] and col in [1, 2, 3]) or (row in [1, 3] and col in [0, 4]) or (row == 2 and col in [0, 1, 3, 4]):
                    print("B", end=" ")
                else:
                    print(" ", end=" ")
            print()
        time.sleep(0.5)  # 每次打印后暂停0.5秒
        os.system('cls' if os.name == 'nt' else 'clear')  # 清屏

# 主程序
print_greeting("新年快乐\n愿你在新的一年里,万事如意,幸福安康!")
print_snowflakes()

print_greeting("工作顺利\n愿你在新的一年里,事业蒸蒸日上,步步高升!")
print_arrows()

print_greeting("学习进步\n愿你在新的一年里,学业有成,知识渊博!")
print_books()

print("\n" + "* " * 30)  # 打印底部装饰

代码说明

  1. print_greeting函数:逐个字符打印祝福语,每个字符之间有0.1秒的间隔,使文字看起来像是在逐个出现。

  2. print_snowflakes函数:打印雪花图案,每次打印后暂停0.5秒,然后清屏,形成雪花逐渐出现的效果。

  3. print_arrows函数:打印向上的箭头图案,每次打印后暂停0.5秒,然后清屏,形成箭头逐渐出现的效果。

  4. print_books函数:打印书本图案,每次打印后暂停0.5秒,然后清屏,形成书本逐渐出现的效果。

  5. 清屏操作:使用os.system('cls' if os.name == 'nt' else 'clear')来清屏,这行代码会根据操作系统类型(Windows使用cls,Unix/Linux使用clear)来清空控制台内容。

运行效果

运行这段代码后,你会看到:

  1. 新年祝福语逐个字符打印出来,然后雪花图案逐渐出现5次。

  2. 工作顺利的祝福语逐个字符打印出来,然后向上的箭头图案逐渐出现5次。

  3. 学习进步的祝福语逐个字符打印出来,然后书本图案逐渐出现5次。

  4. 最后打印出一行装饰线条。

 

可以加入一些更复杂的动画效果和交互功能。以下是一些独特的功能设计和实现:

1. 交互式祝福语选择

允许用户选择他们想要显示的祝福语,增加用户参与感。

2. 动态渐变颜色效果

使用ANSI转义序列来实现文本颜色的动态渐变,使输出更加丰富多彩。

3. 3D效果的心形旋转

通过简单的字符操作,模拟3D效果的心形旋转动画,增加视觉冲击力。

4. 音乐伴奏

使用winsound模块(Windows)或simpleaudio模块(跨平台)播放背景音乐,增加氛围感。

5. 保存祝福语到文件

允许用户将生成的祝福语和图案保存到文本文件中,方便分享和回顾。

代码实现

以下是一个包含上述功能的示例代码:

Python复制

import time
import os
import random
import winsound  # 仅在Windows上有效

# 逐个字符打印祝福语
def print_greeting(greeting, color_code):
    for char in greeting:
        print(f"\033[{color_code}m{char}\033[0m", end="", flush=True)
        time.sleep(0.1)  # 每个字符之间暂停0.1秒
    print("\n")

# 打印3D效果的心形旋转
def print_3d_heart():
    print("新年快乐")
    for angle in range(0, 360, 10):  # 旋转360度,每次旋转10度
        os.system('cls' if os.name == 'nt' else 'clear')  # 清屏
        for row in range(15):
            for col in range(15):
                x = col - 7.5
                y = row - 7.5
                # 3D旋转效果
                x_rot = x * (1 + 0.1 * (angle / 180))
                y_rot = y * (1 - 0.1 * (angle / 180))
                if ((x_rot ** 2 + y_rot ** 2 - 25) ** 3 - x_rot ** 2 * y_rot ** 3 <= 0):
                    print("\033[91m*\033[0m", end=" ")
                else:
                    print(" ", end=" ")
            print()
        time.sleep(0.1)  # 每次旋转后暂停0.1秒

# 播放背景音乐
def play_music():
    winsound.Beep(2500, 1000)  # 频率2500赫兹,持续时间1000毫秒
    winsound.Beep(2000, 1000)
    winsound.Beep(1500, 1000)

# 保存祝福语到文件
def save_to_file(greeting, filename):
    with open(filename, "w") as file:
        file.write(greeting)

# 主程序
def main():
    greetings = {
        1: "新年快乐\n愿你在新的一年里,万事如意,幸福安康!",
        2: "工作顺利\n愿你在新的一年里,事业蒸蒸日上,步步高升!",
        3: "学习进步\n愿你在新的一年里,学业有成,知识渊博!"
    }
    
    print("请选择祝福语:")
    for key, value in greetings.items():
        print(f"{key}. {value.split('\n')[0]}")
    
    choice = int(input("请输入数字选择祝福语:"))
    if choice in greetings:
        greeting = greetings[choice]
        print_greeting(greeting, 91)  # 91是红色
        print_3d_heart()
        play_music()
        filename = "blessing.txt"
        save_to_file(greeting, filename)
        print(f"祝福语已保存到文件:{filename}")
    else:
        print("无效的选择!")

if __name__ == "__main__":
    main()

代码说明

  1. print_greeting函数:逐个字符打印祝福语,并使用ANSI转义序列设置文本颜色。

  2. print_3d_heart函数:打印3D效果的心形旋转动画,通过简单的数学变换模拟3D效果。

  3. play_music函数:使用winsound模块播放背景音乐,增加氛围感。

  4. save_to_file函数:将生成的祝福语保存到文本文件中,方便用户分享和回顾。

  5. main函数:主程序,允许用户选择祝福语,并调用上述函数实现各种效果。

运行效果

运行这段代码后,用户可以选择他们想要显示的祝福语,然后程序会逐个字符打印祝福语,显示3D效果的心形旋转动画,播放背景音乐,并将祝福语保存到文件中。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

交通上的硅基思维

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值