用Python的turtle模块画国旗

最近在学Python,发现Python的海龟绘图非常有趣,就分享一下!话不多说,先来Python turtle的官方文档链接: Python turtle。这里面有turtle的各类指令。turtle画国旗主要用到两个函数:draw_rentangle和draw_star。

import time
import turtle
import os
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的turtle模块画国旗

感觉画的还不赖:)

本文转载自:http://blog.sina.com.cn/s/blog_ea828d2a0102wb4p.html

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏人工智能头条

Python 深度学习

本书由 Keras 之父、现任 Google 人工智能研究员的弗朗索瓦 · 肖莱(Francois Chollet)执笔,详尽介绍了用 Python 和 Ker...

18820
来自专栏人工智能头条

Python 神经网络编程

本书将带领您进行一场妙趣横生却又有条不紊的旅行——从一个非常简单的想法开始,逐步理解神经网络的工作机制。您无需任何超出中学范围的数学知识,并且本书还给出易于理解...

12910
来自专栏AI科技大本营的专栏

访问量最高超7百万的Stack Overflow问题竟然是...

Stack Overflow,一个面向开发者的 IT 技术问答网站,很多程序员都会在上面提问,浏览问题,查找技术知识。在 Top Question 页面,我们可...

7820
来自专栏AI科技大本营的专栏

给老婆写个Python教程

code就是一种语言,一种计算机能读懂的语言。计算机是一个傻逼,他理解不了默认两可的任何东西。比如,你让你老公去买个西瓜,你老公会自己决定去哪里买,买几个,找个...

12130
来自专栏AI科技大本营的专栏

优秀开发者必备技能包:Python调试器

不管是之前搞 acm 用 c/c++ 写算法还是后来用 Python 写代码,我发现在程序出现问题的时候,大多数人习惯性的用 print 函数打印变量值这种方法...

16010
来自专栏云霄雨霁

Python中使用SQLite

SQLite是一种数据库,Python中集成了SQLite3,所以在Python中使用SQLite,可以直接导入SQLite包,不需要做额外的配置。

27620
来自专栏机器之心

为什么Julia比Python快?因为天生理念就更先进啊

其实像以前 C 或其它主流语言在使用变量前先要声明变量的具体类型,而 Python 并不需要,赋值什么数据,变量就是什么类型。然而没想到正是这种类型稳定性,让 ...

15160
来自专栏华章科技

不要再用Python了!谷歌等正在研发新编程语言

导读:当地时间 2 月 18 日,Facebook 首席首席人工智能科学家、卷积神经网络之父 Yann LeCun 在旧金山的国际固态电路大会上发表了一篇论文,...

28010
来自专栏AI科技大本营的专栏

Python之父重回决策层,未来如何发展?

春节假期结束了,大家陆续地重回到原来的生活轨道上。假期是一个很好的休息与调节的机会,同时,春节还有辞旧迎新的本意,它是新的轮回的开端。

12330
来自专栏AI科技大本营的专栏

爬一爬那些年你硬盘存过的“老师”

最近在Github发现一个基于google浏览器的爬虫项目,此项目是由美国大神2018年开源的。这个开源项目不需要使用者再去手写核心爬虫,只需要下载安装,然后传...

15530

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励