利用Python如何画一颗心、小人发射爱心


Posted in Python onFebruary 21, 2021

源码:

#!/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()

效果图:

利用Python如何画一颗心、小人发射爱心

源码:

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如何画一颗心、小人发射爱心的文章就介绍到这了,更多相关Python画小人发射爱心内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python采用Django开发自己的博客系统
Sep 29 Python
Python时间获取及转换知识汇总
Jan 11 Python
opencv改变imshow窗口大小,窗口位置的方法
Apr 02 Python
python 判断网络连通的实现方法
Apr 22 Python
解决Python print输出不换行没空格的问题
Nov 14 Python
Python调用服务接口的实例
Jan 03 Python
python使用sklearn实现决策树的方法示例
Sep 12 Python
Python(PyS60)实现简单语音整点报时
Nov 18 Python
使用pytorch完成kaggle猫狗图像识别方式
Jan 10 Python
详解python itertools功能
Feb 07 Python
基于python检查SSL证书到期情况代码实例
Apr 04 Python
QML用PathView实现轮播图
Jun 03 Python
python 第三方库paramiko的常用方式
Feb 20 #Python
Python中Qslider控件实操详解
Feb 20 #Python
python基于selenium爬取斗鱼弹幕
Feb 20 #Python
Python爬虫+Tkinter制作一个翻译软件的示例
Feb 20 #Python
python爬虫用request库处理cookie的实例讲解
Feb 20 #Python
python 多线程爬取壁纸网站的示例
Feb 20 #Python
python 制作网站小说下载器
Feb 20 #Python
You might like
WordPress中用于获取文章信息以及分类链接的函数用法
2015/12/18 PHP
php封装的验证码工具类完整实例
2016/10/19 PHP
PHP页面跳转实现延时跳转的方法
2016/12/10 PHP
详解PHP实现支付宝小程序用户授权的工具类
2018/12/25 PHP
Laravel框架验证码类用法实例分析
2019/09/11 PHP
关于 byval 与 byref 的区别分析总结
2007/10/08 Javascript
对setInterval在火狐和chrome切换标签产生奇怪的效果之探索,与解决方案!
2011/10/29 Javascript
跟我学Nodejs(二)--- Node.js事件模块
2014/05/21 NodeJs
吐槽一下我所了解的Node.js
2014/10/08 Javascript
laypage分页控件使用实例详解
2016/05/19 Javascript
原生js实现淘宝购物车功能
2020/06/23 Javascript
详谈Angular 2+ 的表单(一)之模板驱动型表单
2017/04/25 Javascript
Mobile Web开发基础之四--处理手机设备的横竖屏问题
2017/08/11 Javascript
gulp安装以及打包合并的方法教程
2017/11/19 Javascript
vue 实现通过手机发送短信验证码注册功能
2018/04/19 Javascript
JS防抖和节流实例解析
2019/09/24 Javascript
python字符串排序方法
2014/08/29 Python
使用Python编写一个简单的tic-tac-toe游戏的教程
2015/04/16 Python
python处理大数字的方法
2015/05/27 Python
Python自定义主从分布式架构实例分析
2016/09/19 Python
详解【python】str与json类型转换
2019/04/29 Python
Python Selenium模块安装使用教程详解
2020/07/09 Python
Python2.6版本pip安装步骤解析
2020/08/17 Python
Python钉钉报警及Zabbix集成钉钉报警的示例代码
2020/08/17 Python
美国标志性加大尺码时装品牌:Ashley Stewart
2016/12/15 全球购物
请说出这段代码执行后a和b的值分别是多少
2015/03/28 面试题
总经理驾驶员岗位职责
2013/12/04 职场文书
2014年社会实践活动总结范文
2014/04/29 职场文书
中队活动总结
2014/08/27 职场文书
2014年学生会工作总结
2014/11/07 职场文书
试用期辞职信范文
2015/03/02 职场文书
个人维稳承诺书
2015/05/04 职场文书
考教师资格证不要错过的4个最佳时机
2019/07/17 职场文书
竞聘开场白方式有哪些?
2019/08/28 职场文书
基于tensorflow权重文件的解读
2021/05/26 Python
一文解答什么是MySQL的回表
2022/08/05 MySQL