turtle 画国旗
2024-09-12 20:15:07
代码实现:
import turtle
import time
import os
def draw_square(org_x, org_y, x, y):
turtle.setpos(org_x, org_y) # to left and bottom connor
turtle.color('red', 'red')
turtle.begin_fill()
turtle.fd(x)
turtle.lt(90)
turtle.fd(y)
turtle.lt(90)
turtle.fd(x)
#print(turtle.pos())
turtle.lt(90)
turtle.fd(y)
turtle.end_fill() def draw_star(center_x, center_y, radius):
print(center_x, center_y)
turtle.pencolor('black')
turtle.setpos(center_x, center_y)
pt1 = turtle.pos()
turtle.circle(-radius, 360 / 5)
pt2 = turtle.pos()
turtle.circle(-radius, 360 / 5)
pt3 = turtle.pos()
turtle.circle(-radius, 360 / 5)
pt4 = turtle.pos()
turtle.circle(-radius, 360 / 5)
pt5 = turtle.pos()
turtle.color('yellow', 'yellow')
turtle.begin_fill()
turtle.goto(pt3)
turtle.goto(pt1)
turtle.goto(pt4)
turtle.goto(pt2)
turtle.goto(pt5)
turtle.end_fill()
print(turtle.pos()) turtle.pu()
draw_square(-320, -260, 660, 440)
star_part_x = -320
star_part_y = -260 + 440
star_part_s = 660 / 30
center_x, center_y = star_part_x + star_part_s * 5, star_part_y - star_part_s * 5
turtle.setpos(center_x, center_y) # big star center
turtle.lt(90)
draw_star(star_part_x + star_part_s * 5, star_part_y - star_part_s * 2, star_part_s * 3) # draw 1st small star
turtle.goto(star_part_x + star_part_s * 10, star_part_y - star_part_s * 2) # go to 1st small star center
turtle.lt(round(turtle.towards(center_x, center_y)) - turtle.heading())
turtle.fd(star_part_s)
turtle.rt(90)
draw_star(turtle.xcor(), turtle.ycor(), star_part_s) # draw 2nd small star
turtle.goto(star_part_x + star_part_s * 12, star_part_y - star_part_s * 4) # go to 1st small star center
turtle.lt(round(turtle.towards(center_x, center_y)) - turtle.heading())
turtle.fd(star_part_s)
turtle.rt(90)
draw_star(turtle.xcor(), turtle.ycor(), star_part_s) # draw 3rd small star
turtle.goto(star_part_x + star_part_s * 12, star_part_y - star_part_s * 7) # go to 1st small star center
turtle.lt(round(turtle.towards(center_x, center_y)) - turtle.heading())
turtle.fd(star_part_s)
turtle.rt(90)
draw_star(turtle.xcor(), turtle.ycor(), star_part_s) # draw 4th small star
turtle.goto(star_part_x + star_part_s * 10, star_part_y - star_part_s * 9) # go to 1st small star center
turtle.lt(round(turtle.towards(center_x, center_y)) - turtle.heading())
turtle.fd(star_part_s)
turtle.rt(90)
draw_star(turtle.xcor(), turtle.ycor(), star_part_s)
turtle.ht()
time.sleep(5)
os._exit(1)
执行结果:
最新文章
- scikit-learn算法选择图
- go:defer
- salesforce 零基础开发入门学习(十四)salesforce中工厂模式的运用
- Glide 下载Gif文件
- git 分批后的数据
- KIS旗舰版常用数据表
- php session跨页面传递 session值丢失问题
- 黄聪:jquery.confirm弹出确认消息
- bzoj4127
- 20145120 《Java程序设计》第5周学习总结
- effect state dx11
- HDU5634 Rikka with Phi 线段树
- 查看mysql数据库及表编码格式
- ListVeiw新增记录及 滚动条移动到指定位置
- select的种种取值
- html5中viewport与meta详解
- k8s网络之Flannel网络
- java中的异常(二)
- 你必须知道的.net读书笔记第四回:后来居上:class和struct
- Hacker一月间
热门文章
- PAT-1132 Cut Integer (整数分割)
- 哈理工新生赛 马拉车+贪心 最大密度子图 AC自动机+DP
- 【Java_集合框架Set】HashSet、LinkedHashSet、TreeSet使用区别
- ASCII码排序(hdu2000)
- 【C++】表达式中各类数值型数据间的混合运算
- [工具推荐]001.FlipPDF使用教程
- [Objective-C] 008_Foundation框架之NSArray与NSMutableArray
- 常用docker命令备忘录
- python pexpect总结
- Java实现 LeetCode 714 买卖股票的最佳时机含手续费(动态规划 || 迭代法)