利用Python如何画一颗心、小人发射爱心
(编辑:jimmy 日期: 2024/11/2 浏览:3 次 )
源码:
#!/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 统计list中各个元素出现的次数的几种方法