用Python画一颗心、小人发射爱心(附源码)
前言
本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。
PS:如有需要Python学习资料的小伙伴可以点击下方链接自行获取
先画一个爱心,
源代码:
#!/usr/bin/env python# -*- coding:utf-8 -*- import turtleimport 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 tfrom time import sleepdef 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: Python青灯教育", move=True, align="left", font=("楷体", 20, "normal")) t.done()main()
赞 (0)