Python 爱心图案代码
Python 爱心图案代码
import math
import timedef draw_heart():"""绘制一个爱心图案"""# 设置爱心的大小size = 10# 设置爱心的颜色(控制台颜色代码)heart_color = "\033[91m" # 红色reset_color = "\033[0m" # 重置颜色# 打印爱心的上半部分for i in range(size):for j in range(4 * size):# 计算当前点的坐标x = j - 2 * sizey = 2 * size - i# 计算当前点是否在爱心的上半部分if (x * x + y * y - size * size) ** 3 - x * x * y * y * y <= 0:print(heart_color + "*", end="") # 打印爱心颜色的星号else:print(" ", end="") # 打印空格print() # 换行# 打印爱心的下半部分for i in range(size * 2):for j in range(4 * size):# 计算当前点的坐标x = j - sizey = i - size# 计算当前点是否在爱心的下半部分if (x * x + y * y - size * size) ** 3 - x * x * y * y * y <= 0:print(heart_color + "*", end="") # 打印爱心颜色的星号else:print(" ", end="") # 打印空格print() # 换行# 打印一些祝福语print(reset_color + "\n" + " " * size + "Happy Valentine's Day!\n")print(" " * size + "Love is in the air...\n")if __name__ == "__main__":# 调用函数绘制爱心draw_heart()# 等待一段时间后退出time.sleep(5)
代码解释
-
导入模块
math
模块用于数学计算(虽然在这个例子中没有直接使用,但可以用于更复杂的图形绘制)。time
模块用于在程序结束前暂停一段时间,以便用户可以查看绘制的爱心图案。
-
draw_heart
函数- 这个函数负责绘制爱心图案。
- 设置爱心的大小:
size
变量控制爱心的大小。你可以通过调整这个值来改变爱心的大小。
- 设置爱心的颜色:
- 使用ANSI转义序列设置控制台颜色。
heart_color
变量设置为红色(\033[91m
),reset_color
变量用于重置颜色(\033[0m
)。
- 使用ANSI转义序列设置控制台颜色。
-
绘制爱心的上半部分
- 使用嵌套的
for
循环来遍历每个像素点。 - 外层循环控制行数,内层循环控制列数。
- 通过数学公式判断当前点是否在爱心的上半部分。公式
((x^2 + y^2 - size^2)^3 - x^2 * y^3 <= 0)
用于判断点是否在爱心的轮廓内。 - 如果当前点在爱心的轮廓内,打印红色的星号(
*
);否则打印空格。
- 使用嵌套的
-
绘制爱心的下半部分
- 与上半部分类似,但调整了坐标范围,以绘制爱心的下半部分。
-
打印祝福语
- 在爱心图案下方打印一些祝福语,增加节日氛围。
-
主程序
- 调用
draw_heart
函数绘制爱心。 - 使用
time.sleep(5)
在程序结束前暂停5秒,以便用户可以查看绘制的爱心图案。
- 调用
运行效果
运行上述代码后,你将在控制台看到一个红色的爱心图案,以及一些祝福语。这个程序使用了简单的数学公式和控制台输出来实现爱心的绘制,适合初学者学习和理解。
扩展
如果你想要更复杂的图形或者动画效果,可以考虑使用Python的图形库,如matplotlib
或pygame
。这些库提供了更强大的绘图功能,可以实现更复杂的图形和动画效果。