使用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常规方法实现数组的全排列
Mar 17 Python
python基础之包的导入和__init__.py的介绍
Jan 08 Python
python安装教程
Feb 28 Python
python实现抖音点赞功能
Apr 07 Python
Python3.6实现带有简单界面的有道翻译小程序
Apr 16 Python
Flask框架钩子函数功能与用法分析
Aug 02 Python
关于Python核心框架tornado的异步协程的2种方法详解
Aug 28 Python
Django使用中间件解决前后端同源策略问题
Sep 02 Python
基于python实现ROC曲线绘制广场解析
Jun 28 Python
Django前后端分离csrf token获取方式
Dec 25 Python
python四个坐标点对图片区域最小外接矩形进行裁剪
Jun 04 Python
Python 详解通过Scrapy框架实现爬取百度新冠疫情数据流程
Nov 11 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正则走开
2008/03/15 PHP
分享自定义的几个PHP功能函数
2015/04/15 PHP
Laravel5.3+框架定义API路径取消CSRF保护方法详解
2020/04/06 PHP
js window.onload 加载多个函数的方法
2009/11/02 Javascript
js 模拟实现类似c#下的hashtable的简单功能代码
2010/01/24 Javascript
js全屏显示显示代码的三种方法
2013/11/11 Javascript
ff chrome和ie下全局动态定位的异同及全局高度的取法
2014/06/30 Javascript
JS日期格式化之javascript Date format
2015/10/01 Javascript
bootstrap网页框架的使用方法
2016/05/10 Javascript
Bootstrap3学习笔记(三)之表格
2016/05/20 Javascript
JS识别浏览器类型(电脑浏览器和手机浏览器)
2016/11/18 Javascript
JavaScript设计模式之单例模式详解
2017/06/09 Javascript
详解在Angular项目中添加插件ng-bootstrap
2017/07/04 Javascript
JS实现简单的选择题测评系统代码思路详解(demo)
2017/09/03 Javascript
vue自定义filters过滤器
2018/04/26 Javascript
详解ESLint在Vue中的使用小结
2018/10/15 Javascript
使用vue-cli脚手架工具搭建vue-webpack项目
2019/01/14 Javascript
js实现简单分页导航栏效果
2019/06/28 Javascript
vue之封装多个组件调用同一接口的案例
2020/08/11 Javascript
python获取beautifulphoto随机某图片代码实例
2013/12/18 Python
在Python中使用base64模块处理字符编码的教程
2015/04/28 Python
python 性能优化方法小结
2017/03/31 Python
Python面向对象思想与应用入门教程【类与对象】
2019/04/12 Python
Python实现通过解析域名获取ip地址的方法分析
2019/05/17 Python
django实现用户注册实例讲解
2019/10/30 Python
pytorch 修改预训练model实例
2020/01/18 Python
wxpython自定义下拉列表框过程图解
2020/02/14 Python
CSS3 特效范例整理
2011/08/22 HTML / CSS
html5本地存储_动力节点Java学院整理
2017/07/12 HTML / CSS
基于HTML5 WebGL的3D机房的示例
2018/03/16 HTML / CSS
墨西哥巴士车票在线购买:ClickBus
2018/03/27 全球购物
群众路线教育实践活动对照检查材料
2014/09/22 职场文书
承兑汇票转让证明怎么写?
2014/11/30 职场文书
社区环境卫生倡议书
2015/04/29 职场文书
python将图片转为矢量图的方法步骤
2021/03/30 Python
Python+Selenium自动化环境搭建与操作基础详解
2022/03/13 Python