当前位置:首页>java>python爱心代码

python爱心代码

  • 2026-08-25 08:25:51
python爱心代码

极简字符爱心(直接运行)

一行打印字符爱心,简洁直观,适合快速展示

print('\n'.join([''.join([('爱心'[(x-y)%len('爱心')] if ((x*0.05)**2+(y*0.1)**2-1)**3-(x*0.05)**2*(y*0.1)**3 <=0 else ' ' for x in range(-30,30)]) for y in range(15,-15,-1)]))

经典数学公式爱心(带颜色,更美观)

基于笛卡尔心形公式,搭配Python自带的颜色输出,爱心轮廓更标准

import math

for y in range(15, -15, -1):

    s = ''

    for x in range(-30, 30):

        if ((x*0.04)**2 + (y*0.1)**2 - 1)**3 - (x*0.04)**2 * (y*0.1)**3 <= 0:

            # 红色爱心(终端支持ANSI颜色)

            s += '\033[31m♥\033[0m'

        else:

            s += ' '

    print(s)

动态跳动爱心(带延迟,有互动感)

加入时间延迟,实现爱心缓慢跳动的效果,需要导入 time 库

import math

import time

def draw_heart():

    for y in range(15, -15, -1):

        line = ''

        for x in range(-30, 30):

            if ((x*0.04)**2 + (y*0.1)**2 - 1)**3 - (x*0.04)**2 * (y*0.1)**3 <= 0:

                line += '\033[31m♥\033[0m'

            else:

                line += ' '

        print(line)

# 循环跳动,按Ctrl+C停止

while True:

    draw_heart()

    time.sleep(0.5)

    # 清屏(Windows用cls,Mac/Linux用clear)

    import os

    os.system('cls' if os.name == 'nt' else 'clear')

极简字符爱心(直接运行)

一行打印字符爱心,简洁直观,适合快速展示

python
 

print('\n'.join([''.join([('爱心'[(x-y)%len('爱心')] if ((x*0.05)**2+(y*0.1)**2-1)**3-(x*0.05)**2*(y*0.1)**3 <=0 else ' ' for x in range(-30,30)]) for y in range(15,-15,-1)]))
 

经典数学公式爱心(带颜色,更美观)

基于笛卡尔心形公式,搭配Python自带的颜色输出,爱心轮廓更标准

python
 

import math

for y in range(15, -15, -1):
    s = ''
    for x in range(-30, 30):
        if ((x*0.04)**2 + (y*0.1)**2 - 1)**3 - (x*0.04)**2 * (y*0.1)**3 <= 0:
            # 红色爱心(终端支持ANSI颜色)
            s += '\033[31m♥\033[0m'
        else:
            s += ' '
    print(s)
 

动态跳动爱心(带延迟,有互动感)

加入时间延迟,实现爱心缓慢跳动的效果,需要导入 time 库

python
 

import math
import time

def draw_heart():
    for y in range(15, -15, -1):
        line = ''
        for x in range(-30, 30):
            if ((x*0.04)**2 + (y*0.1)**2 - 1)**3 - (x*0.04)**2 * (y*0.1)**3 <= 0:
                line += '\033[31m♥\033[0m'
            else:
                line += ' '
        print(line)

# 循环跳动,按Ctrl+C停止
while True:
    draw_heart()
    time.sleep(0.5)
    # 清屏(Windows用cls,Mac/Linux用clear)
    import os
    os.system('cls' if os.name == 'nt' else 'clear')
 

运行说明

1. 以上代码均可直接在Python3环境(IDLE、PyCharm、终端)运行
2. 颜色和动态效果在终端/命令行中显示最佳,部分IDE的输出窗口可能不支持ANSI颜色
3. 动态爱心可通过 Ctrl+C 终止运行

带自定义文字的爱心代码(红色字符版,直接运行)

可自行修改代码里的自定义文字,文字会居中显示在爱心中,适配终端/IDLE/PyCharm

带自定义文字的爱心代码(红色字符版,直接运行)

import math

# --------------------------

# 在这里修改你要显示的文字,建议2-4个字最佳

custom_text = "平安喜乐"

# --------------------------

# 爱心绘制核心逻辑+文字居中

def draw_heart_with_text(text):

    # 计算文字居中偏移量

    text_len = len(text)

    offset = text_len // 2

    for y in range(15, -15, -1):

        line = ""

        for x in range(-30, 30):

            # 笛卡尔心形公式

            if ((x*0.04)**2 + (y*0.1)**2 - 1)**3 - (x*0.04)**2 * (y*0.1)**3 <= 0:

                line += "\033[31m♥\033[0m"

            else:

                # 文字居中显示(固定y轴位置,适配x轴)

                if y == 1 and x >= -offset and x < text_len - offset:

                    line += f"\033[32m{text[x + offset]}\033[0m"

                else:

                    line += " "

        print(line)

# 执行绘制

if __name__ == "__main__":

    draw_heart_with_text(custom_text)

优化版:跳动爱心+自定义文字(动态版)

爱心会循环跳动,文字始终居中,氛围感拉满,按 Ctrl+C 停止运行

import math
import time
import os

# --------------------------
# 自定义文字,建议2-4个字
custom_text = "万事顺意"
# --------------------------

def draw_heart(text):
    text_len = len(text)
    offset = text_len // 2
    for y in range(15, -15, -1):
        line = ""
        for x in range(-30, 30):
            if ((x*0.04)**2 + (y*0.1)**2 - 1)**3 - (x*0.04)**2 * (y*0.1)**3 <= 0:
                line += "\033[31m♥\033[0m"
            else:
                if y == 1 and x >= -offset and x < text_len - offset:
                    line += f"\033[32m{text[x + offset]}\033[0m"
                else:
                    line += " "
        print(line)

# 循环跳动,清屏适配Windows/Mac/Linux
if __name__ == "__main__":
    try:
        while True:
            draw_heart(custom_text)
            time.sleep(0.6)
            os.system('cls' if os.name == 'nt' else 'clear')
    except KeyboardInterrupt:
        print("\033[31m爱心派送结束~\033[0m")

小提示

1. 文字建议2-4个字,太长会超出爱心范围,短字视觉效果更协调;

2. 爱心是红色♥,文字是绿色,终端不支持ANSI颜色会自动显示默认字符,不影响形状;

3. 动态版按 Ctrl+C 停止后,会显示「爱心派送结束」的温馨提示。

最新文章

随机文章