使用Python的turtle模块画国旗


Posted in Python onSeptember 24, 2019

Python的turtle模块画国旗主要用到两个函数:draw_rentangle和draw_star。

至于函数的调用就和我们学的C,C++是一样的。对于turtle画国旗的程序中,首先是查找国旗的画法,才能用程序实现。自己在实现的过程中主要是对turtle.circle()没有准确掌握,所以花了一些不必要的时间。turtle.circle画弧时,海龟(turtle)的方向就是弧的切线方向,也就是说turtle的垂直方向就是圆心在的直线上,给定参数radius就可以画了,程序中第二注意的地方就是小五角星和大五角星的位置关系,主要是程序中的turtle.left(turtle.towards(center_x,center_y)-turtle.heading()),当然,我看有的人用了round()函数来获取近似值,但是,默认的已经足够了。下面是本人写的程序和结果演示。

import time
import turtle
import os
'''
想要学习Python?Python学习交流群:984632579满足你的需求,资料都已经上传群文件,可以自行下载!
'''
def draw_rectangle(start_x,start_y,rec_x,rec_y):
 turtle.goto(start_x,start_y)
 turtle.color('red')
 turtle.fillcolor('red')
 turtle.begin_fill()
 for i in range(2):
  turtle.forward(rec_x)
  turtle.left(90)
  turtle.forward(rec_y)
  turtle.left(90)
 turtle.end_fill()
 
 
 
 
def draw_star(center_x,center_y,radius):
 turtle.setpos(center_x,center_y)
 #find the peak of the five-pointed star
 pt1=turtle.pos()
 turtle.circle(-radius,72)
 pt2=turtle.pos()
 turtle.circle(-radius,72)
 pt3=turtle.pos()
 turtle.circle(-radius,72)
 pt4=turtle.pos()
 turtle.circle(-radius,72)
 pt5=turtle.pos()
 #draw the five-pointed star
 turtle.color('yellow','yellow')
 turtle.fill(True)
 turtle.goto(pt3)
 turtle.goto(pt1)
 turtle.goto(pt4)
 turtle.goto(pt2)
 turtle.goto(pt5)
 turtle.fill(False)
 
 
#start the project
turtle.speed(5)
turtle.penup()
#draw the rectangle
star_x=-320
star_y=-260
len_x=660
len_y=440
draw_rectangle(star_x,star_y,len_x,len_y)
#draw the big star
pice=660/30
big_center_x=star_x+5*pice
big_center_y=star_y+len_y-pice*5
turtle.goto(big_center_x,big_center_y)
turtle.left(90)
turtle.forward(pice*3)
turtle.right(90)
draw_star(turtle.xcor(),turtle.ycor(),pice*3)
#draw the small star
turtle.goto(star_x+10*pice,star_y+len_y-pice*2)
turtle.left(turtle.towards(big_center_x,big_center_y)-turtle.heading())
turtle.forward(pice)
turtle.right(90)
draw_star(turtle.xcor(),turtle.ycor(),pice)
#draw the second star
turtle.goto(star_x+pice*12,star_y+len_y-pice*4)
turtle.left(turtle.towards(big_center_x,big_center_y)-turtle.heading())
turtle.forward(pice)
turtle.right(90)
draw_star(turtle.xcor(),turtle.ycor(),pice)
#draw the third
turtle.goto(star_x+pice*12,star_y+len_y-7*pice)
turtle.left(turtle.towards(big_center_x,big_center_y)-turtle.heading())
turtle.forward(pice)
turtle.right(90)
draw_star(turtle.xcor(),turtle.ycor(),pice)
#draw the final
turtle.goto(star_x+pice*10,star_y+len_y-9*pice)
turtle.left(turtle.towards(big_center_x,big_center_y)-turtle.heading())
turtle.forward(pice)
turtle.right(90)
draw_star(turtle.xcor(),turtle.ycor(),pice)
 
 
turtle.ht()
time.sleep(3)
os._exit(1)

使用Python的turtle模块画国旗

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python错误:AttributeError: 'module' object has no attribute 'setdefaultencoding'问题的解决方法
Aug 22 Python
Python 装饰器实现DRY(不重复代码)原则
Mar 05 Python
Ubuntu下使用python读取doc和docx文档的内容方法
May 08 Python
Python操作mongodb数据库进行模糊查询操作示例
Jun 09 Python
使用pandas模块读取csv文件和excel表格,并用matplotlib画图的方法
Jun 22 Python
解决PyCharm同目录下导入模块会报错的问题
Oct 13 Python
Python爬虫实战之12306抢票开源
Jan 24 Python
Python基本语法之运算符功能与用法详解
Oct 22 Python
TensorFlow加载模型时出错的解决方式
Feb 06 Python
Python中logging日志库实例详解
Feb 19 Python
golang/python实现归并排序实例代码
Aug 30 Python
Python读写Excel表格的方法
Mar 02 Python
给你一面国旗 教你用python画中国国旗
Sep 24 #Python
Python MongoDB 插入数据时已存在则不执行,不存在则插入的解决方法
Sep 24 #Python
Python获取时间戳代码实例
Sep 24 #Python
Python django框架输入汉字,数字,字符生成二维码实现详解
Sep 24 #Python
分享一个pycharm专业版安装的永久使用方法
Sep 24 #Python
python实现的config文件读写功能示例
Sep 24 #Python
python使用socket实现的传输demo示例【基于TCP协议】
Sep 24 #Python
You might like
php下正则来匹配dede模板标签的代码
2010/08/21 PHP
PHP图像处理类库MagickWand用法实例分析
2015/05/21 PHP
PHP上传Excel文件导入数据到MySQL数据库示例
2016/10/25 PHP
微信公众平台开发教程④ ThinkPHP框架下微信支付功能图文详解
2019/04/10 PHP
Laravel框架控制器的request与response用法示例
2019/09/30 PHP
Laravel框架集合用法实例浅析
2020/05/14 PHP
utf8的编码算法 转载
2006/12/27 Javascript
手把手教你自己写一个js表单验证框架的方法
2010/09/14 Javascript
jquery实现全屏滚动
2015/12/28 Javascript
JS事件添加和移出的兼容写法示例
2016/06/20 Javascript
1秒50万字!js实现关键词匹配
2016/08/01 Javascript
JavaScript重定向URL参数的两种方法小结
2016/10/19 Javascript
用jquery的attr方法实现图片切换效果
2017/02/05 Javascript
微信小程序实现带刻度尺滑块功能
2017/03/29 Javascript
tangram.js库实现js类的方式实例分析
2018/01/06 Javascript
使用vue-cli3新建一个项目并写好基本配置(推荐)
2019/04/24 Javascript
微信小程序实现收货地址左滑删除
2020/11/18 Javascript
Nautil 中使用双向数据绑定的实现
2019/10/02 Javascript
分析python动态规划的递归、非递归实现
2018/03/04 Python
Python 忽略warning的输出方法
2018/10/18 Python
Python3基础教程之递归函数简单示例
2019/06/07 Python
python turtle库画一个方格和圆实例
2019/06/27 Python
python虚拟环境的安装和配置(virtualenv,virtualenvwrapper)
2019/08/09 Python
python3.6编写的单元测试示例
2019/08/17 Python
python 实现 hive中类似 lateral view explode的功能示例
2020/05/18 Python
python代码如何注释
2020/06/01 Python
python的scipy.stats模块中正态分布常用函数总结
2021/02/19 Python
自定义html标记替换html5新增元素
2008/10/17 HTML / CSS
HTML4和HTML5之间除了相似以外的10个主要不同
2012/12/13 HTML / CSS
宿舍违规用电检讨书
2014/02/16 职场文书
爱心捐书活动总结
2014/07/05 职场文书
大二学生学年自我鉴定
2014/09/12 职场文书
国家税务局干部作风整顿整改措施
2014/09/18 职场文书
党的群众路线教育实践活动剖析材料
2014/09/30 职场文书
2019通用版劳动合同范本!
2019/07/11 职场文书
晶体管单管来复再生式收音机
2021/04/22 无线电