"""
执行 python -m turtledemo 命令查看系统内置demo的源码 绘制:需要通过import turtle引入绘制图形库turtle库
改编自python提供的turtle_yinyang.py
author:bravestarr
date:12/7/2017
"""
import turtle # 定义大圆半径200,则小圆半径big_radius * 0.5, 假如内部最小圆半径为big_radius*0.15
big_radius = 200 def main():
turtle.reset()
turtle.shape("turtle")
yin("black", "white", 1)
yin("white", "black", -1)
turtle.ht() def yin(big_fillcolor, inner_fillcolor, direction):
"""
画一半阴阳八卦
:param big_fillcolor: 外部大圆填充色
:param inner_fillcolor: 内部小圆填充色
:param direction: 1表示开始默认开始方向向右,-1表示开始默认开始方向向左
:return:
"""
turtle.pensize(3)
# 设置pencolor和fillcolor
turtle.color("black", big_fillcolor)
# 开始填充
turtle.begin_fill()
# 画内半圆
turtle.circle(big_radius / 2.0, 180)
# 画外半圆
turtle.circle(big_radius, 180)
# 海龟箭头左转180度
turtle.lt(180)
# 反方向画内半圆,反方向画圆,半径前要加 -
turtle.circle(-big_radius / 2.0, 180)
# 结束填充
turtle.end_fill()
# 画笔抬起
turtle.pu()
# 从画笔当前位置开始画圆,因此需要减去内圆半径,y方向移动,x方向不变
turtle.sety(direction * big_radius * (0.5 - 0.15))
# 画笔放下
turtle.pd()
# 设置pencolor和fillcolor
turtle.color(big_fillcolor, inner_fillcolor)
# 开始填充内圆
turtle.begin_fill()
# 画内圆
turtle.circle(big_radius * 0.15)
# 结束填充内圆
turtle.end_fill()
# 画笔抬起
turtle.pu()
# 海龟箭头回到(0, 0)坐标
turtle.goto(0, 0)
# 画笔放下
turtle.pd()
# 海龟箭头左转180度
turtle.lt(180)
return "Done!" if __name__ == '__main__':
main()
turtle.mainloop()

python之demo2----改编自python官方提供的turtle_yinyang.py画阴阳的demo的更多相关文章

  1. 更好用的 Python 任务自动化工具:nox 官方教程

    英文| nox tutorial 出处| nox 官方文档 译者| 豌豆花下猫@Python猫 Github地址:https://github.com/chinesehuazhou/nox_doc_c ...

  2. python grammar、C/C++ Python Parsing Engine

    catalog . Python语言简介 . Python模块 . 嵌入式Python解析引擎: C++调用Python . Python 调用 C (base) . 扩展Python语法解析器功能: ...

  3. Python基础:四、python的优缺点

    python是一门动态解释性的强类型语言 python的优点: 1. python的定位是"优雅"."明确"."简单" python程序看上 ...

  4. python 的排名,已经python的简单介绍

    我在今天看了一篇文章,是简书的全网程序猿写的,Java已经退出神坛,python稳居第一. python是由龟叔写的,它在英文的意思是蟒蛇. 根据编程语言流行指数排行榜2019年2月的榜单 据了解,目 ...

  5. deno学习三 官方提供的方便deno 安装方式

    早起deno 使用了golang 开发,同时需要protobuf 进行数据的序列化以及反序列化处理 当前的deno 已经使用rust 进行了开发,同时官方提供的安装方式也很方便了,不需要 那么复杂的编 ...

  6. Python 标准库一览(Python进阶学习)

    转自:http://blog.csdn.net/jurbo/article/details/52334345 写这个的起因是,还是因为在做Python challenge的时候,有的时候想解决问题,连 ...

  7. Python接口测试实战2 - 使用Python发送请求

    如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...

  8. 【Python】第一篇:python基础_1

    本篇内容 Python介绍 安装 第一个程序(hello,world) 变量 用户输入(input) 数据类型 数据运算 if判断 break和continue的区别 while 循环 一. Pyth ...

  9. python高级(一)—— python数据模型(特殊方法)

    本文主要内容 collections.namedtuple __getitem__ 和 __len__ __repr__和__str__ __abs__.__add__和__mul__ __bool_ ...

随机推荐

  1. 深入了解preventDefault与stopPropagation

    event.preventDefault()用法介绍(阻止默认事件) 该方法将通知 Web 浏览器不要执行与事件关联的默认动作(如果存在这样的动作).例如,如果 type 属性是 "subm ...

  2. poj1330-----------关于公共祖先的问题

    关于公共祖先的问题分类: 这类问题有多种解法和类型,根据题目给出的信息去判断使用哪一种 1.给你树,只支持从父亲找儿子,不支持儿子找父亲,最后要求最近公共祖先,使用dfs或者分治 2.支持儿子找父亲, ...

  3. j2ee高级开发技术课程第五周

    pplet 是一种 Java 程序.它一般运行在支持 Java 的 Web 浏览器内.因为它有完整的 Java API支持,所以Applet 是一个全功能的 Java 应用程序. 如下所示是独立的 J ...

  4. TCP保活的必要性

    TCP的长连接理论上只要连接建立后,就会一直保持着.但有时有一些防火墙之类的软件会自动检查主机的网络连接状况,比如说如果发现某个连接在几分钟之内都没有数据通讯,则会关闭这个连接.有时客户端与服务器需要 ...

  5. zk特性和场景

    zk解决什么问题 分布式一致性问题 一致性一般定义是分布式系统中状态或数据保持同步和一致.实际上就是围绕着“看见”来的.谁能看见?能否看见?什么时候看见? 举个例子:淘宝后台卖家,在后台上架一件大促的 ...

  6. 开发一款即时通讯App,从这几步开始

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由腾讯云视频发表于云+社区专栏 关注公众号"腾讯云视频",一键获取 技术干货 | 优惠活动 | 视频方案 " ...

  7. 大佬带你深入浅出Lua虚拟机

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由鹅厂优文发表于云+社区专栏 作者:郑小辉 | 腾讯 游戏客户端开发高级工程师 写在前面:本文所有的文字都是我手工一个一个敲的,以及本文 ...

  8. HTML 初识 HTML【 整体结构 文字 图片 表格 超链接】

    HTML        超文本标记语言,页面内可以包含图片.链接,甚至音乐.程序等非文字元素.       网页的本质就是超级文本标记语言,万维网是建立在超文本基础之上的.TML 通过标记符号来标记要 ...

  9. 出现HTTP 错误 404.0 - Not Found的解决方法

    1.修改配置文件<system.webServer><modules runAllManagedModulesForAllRequests="true" /> ...

  10. 【转】SAP HANA学习资料大全[非常完善的学习资料汇总]

    Check out this SDN blog if you plan to write HANA Certification exam http://scn.sap.com/community/ha ...