m0_70910030 2022-12-09 16:55 采纳率: 93.7%
浏览 25
已结题

如何用python中的turtle库绘制一个好看的图案程序中必须包含流程控制(循环)、组合数据类型(列表、元组、集合、字典)、自定义函数内容?

用python中的turtle库绘制一个好看的图案
程序中必须包含流程控制(循环)、组合数据类型(列表、元组、集合、字典)、自定义函数内容。代码不少于30行

  • 写回答

2条回答 默认 最新

  • CSDN专家-sinJack 2022-12-09 16:58
    关注
    from turtle import Screen, Turtle, mainloop
    from time import perf_counter as clock, sleep
     
    def mn_eck(p, ne,sz):
        turtlelist = [p]
        #create ne-1 additional turtles
        for i in range(1,ne):
            q = p.clone()
            q.rt(360.0/ne)
            turtlelist.append(q)
            p = q
        for i in range(ne):
            c = abs(ne/2.0-i)/(ne*.7)
            # let those ne turtles make a step
            # in parallel:
            for t in turtlelist:
                t.rt(360./ne)
                t.pencolor(1-c,0,c)
                t.fd(sz)
     
    def main():
        s = Screen()
        s.bgcolor("black")
        p=Turtle()
        p.speed(0)
        p.hideturtle()
        p.pencolor("red")
        p.pensize(3)
     
        s.tracer(36,0)
     
        at = clock()
        mn_eck(p, 36, 19)
        et = clock()
        z1 = et-at
     
        sleep(1)
     
        at = clock()
        while any(t.undobufferentries() for t in s.turtles()):
            for t in s.turtles():
                t.undo()
        et = clock()
        return "runtime: %.3f sec" % (z1+et-at)
     
     
    if __name__ == '__main__':
        msg = main()
        print(msg)
        mainloop()
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 12月24日
  • 已采纳回答 12月16日
  • 创建了问题 12月9日

悬赏问题

  • ¥15 微信会员卡等级和折扣规则
  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分