使用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通过邮件服务器端口发送邮件的方法
Apr 30 Python
Python中super关键字用法实例分析
May 28 Python
Python自定义简单图轴简单实例
Jan 08 Python
Python中常用信号signal类型实例
Jan 25 Python
python构建深度神经网络(续)
Mar 10 Python
python如何通过twisted实现数据库异步插入
Mar 20 Python
python3.x 将byte转成字符串的方法
Jul 17 Python
python训练数据时打乱训练数据与标签的两种方法小结
Nov 08 Python
学习Django知识点分享
Sep 11 Python
基于python cut和qcut的用法及区别详解
Nov 22 Python
python保存log日志,实现用log日志画图
Dec 24 Python
python实现密度聚类(模板代码+sklearn代码)
Apr 27 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
中国站长站 For Dede4.0 采集规则
2007/05/27 PHP
用php制作简单分页(从数据库读取记录)的方法详解
2013/05/04 PHP
解析PHP无限级分类方法及代码
2013/06/21 PHP
解析PHP中DIRECTORY_SEPARATOR,PATH_SEPARATOR两个常量的作用
2013/06/21 PHP
PHP 实现的将图片转换为TXT
2015/10/21 PHP
PHP面向对象程序设计方法实例详解
2016/12/24 PHP
为何说PHP引用是个坑,要慎用
2018/04/02 PHP
js显示时间 js显示最后修改时间
2013/01/02 Javascript
jquery选择器、属性设置用法经验总结
2013/09/08 Javascript
Javascript Object 对象学习笔记
2014/12/17 Javascript
JavaScript实现函数返回多个值的方法
2015/06/09 Javascript
Js获取当前日期时间及格式化代码
2016/09/17 Javascript
浅析如何利用JavaScript进行语音识别
2016/10/27 Javascript
JS简单获取当前日期和农历日期的方法
2017/04/17 Javascript
vue过渡和animate.css结合使用详解
2017/06/14 Javascript
vue中实现图片和文件上传的示例代码
2018/03/16 Javascript
js实现弹幕飞机效果
2020/08/27 Javascript
[59:00]OG vs TNC 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
浅谈Python爬取网页的编码处理
2016/11/04 Python
Python实现一个简单的验证码程序
2017/11/03 Python
Django的分页器实例(paginator)
2017/12/01 Python
python获取微信小程序手机号并绑定遇到的坑
2018/11/19 Python
python开发准备工作之配置虚拟环境(非常重要)
2019/02/11 Python
pip 安装库比较慢的解决方法(国内镜像)
2019/10/06 Python
Windows下PyCharm配置Anaconda环境(超详细教程)
2020/07/31 Python
css3学习心得分享
2013/08/19 HTML / CSS
CSS3选择器新增问题的实现
2021/01/21 HTML / CSS
html5 移动端视频video的android兼容(去除播放控件、全屏)
2020/03/26 HTML / CSS
管理专员自荐信
2014/01/26 职场文书
八一建军节部队活动方案
2014/02/04 职场文书
现金出纳岗位职责
2014/03/15 职场文书
普通党员个人剖析材料
2014/10/08 职场文书
让人瞬间清醒的句子,句句经典,字字如金
2019/07/08 职场文书
redis使用不当导致应用卡死bug的过程解析
2021/07/01 Redis
工厂无线对讲系统解决方案
2022/02/18 无线电
SpringBoot Http远程调用的方法
2022/08/14 Java/Android