源码:
- #!/usr/bin/env python
- # -*- coding:utf-8 -*-
- import turtle
- import time
- # 画心形圆弧
- def hart_arc():
- for i in range(200):
- turtle.right(1)
- turtle.forward(2)
- def move_pen_position(x, y):
- turtle.hideturtle() # 隐藏画笔(先)
- turtle.up() # 提笔
- turtle.goto(x, y) # 移动画笔到指定起始坐标(窗口中心为0,0)
- turtle.down() # 下笔
- turtle.showturtle() # 显示画笔
- # 初始化
- turtle.setup(width=800, height=500) # 窗口(画布)大小
- turtle.color('red', 'pink') # 画笔颜色
- turtle.pensize(3) # 画笔粗细
- turtle.speed(1) # 描绘速度
- # 初始化画笔起始坐标
- move_pen_position(x=0,y=-180) # 移动画笔位置
- turtle.left(140) # 向左旋转140度
- turtle.begin_fill() # 标记背景填充位置
- # 画心形直线( 左下方 )
- turtle.forward(224) # 向前移动画笔,长度为224
- # 画爱心圆弧
- hart_arc() # 左侧圆弧
- turtle.left(120) # 调整画笔角度
- hart_arc() # 右侧圆弧
- # 画心形直线( 右下方 )
- turtle.forward(224)
- turtle.end_fill() # 标记背景填充结束位置
- # 点击窗口关闭程序
- window = turtle.Screen()
- window.exitonclick()
效果图:
源码:
- import turtle as t
- from time import sleep
- def go_to(x, y):
- t.up()
- t.goto(x, y)
- t.down()
- def head(x, y, r):
- go_to(x, y)
- t.speed(20)
- t.circle(r)
- leg(x, y)
- def leg(x, y):
- t.right(90)
- t.forward(180)
- t.right(30)
- t.forward(100)
- t.left(120)
- go_to(x, y - 180)
- t.forward(100)
- t.right(120)
- t.forward(100)
- t.left(120)
- hand(x, y)
- def hand(x, y):
- go_to(x, y - 60)
- t.forward(100)
- t.left(60)
- t.forward(100)
- go_to(x, y - 90)
- t.right(60)
- t.forward(100)
- t.right(60)
- t.forward(100)
- t.left(60)
- eye(x, y)
- def eye(x, y):
- go_to(x - 50, y + 130)
- t.right(90)
- t.forward(50)
- go_to(x + 40, y + 130)
- t.forward(50)
- t.left(90)
- def big_Circle(size):
- t.speed(20)
- for i in range(150):
- t.forward(size)
- t.right(0.3)
- def line(size):
- t.speed(20)
- t.forward(51 * size)
- def small_Circle(size):
- t.speed(20)
- for i in range(210):
- t.forward(size)
- t.right(0.786)
- def heart(x, y, size):
- go_to(x, y)
- t.left(150)
- t.begin_fill()
- line(size)
- big_Circle(size)
- small_Circle(size)
- t.left(120)
- small_Circle(size)
- big_Circle(size)
- line(size)
- t.end_fill()
- def main():
- t.pensize(2)
- t.color('red', 'pink')
- head(-120, 100, 100)
- heart(250, -80, 1)
- go_to(100, -300)
- t.write("To: 智慧与美貌并存的", move=True, align="left", font=("楷体", 20, "normal"))
- t.done()
- main()
效果图:
总结
到此这篇关于利用Python如何画一颗心、小人发射爱心的文章就介绍到这了,更多相关Python画小人发射爱心内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://blog.csdn.net/m0_46278037/article/details/113819989