代码实现:
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)
执行结果:
本文来自博客园,作者:大码王,转载请注明原文链接:https://www.cnblogs.com/huanghanyu/
分类:
python之绘图
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具