• national flag


    # -*- coding:UTF-8 -*-
    # -*- author:deng -*-
    import turtle
    import math
    window = turtle.Screen()
    def draw_polygon(aTurtle, size=50, n=3):
        # 绘制正多边形
        for i in xrange(n):
            aTurtle.forward(size)
            aTurtle.left(360.0 / n)
    
    def draw_n_angle(aTurtle, size=50, num=5, color=None):
        # 绘制正n角形,默认为黄色
        if color:
            aTurtle.begin_fill()
            aTurtle.fillcolor(color)
        for i in range(num):
            aTurtle.forward(size)
            aTurtle.left(360.0 / num)
            aTurtle.forward(size)
            aTurtle.right(2 * 360.0 / num)
        if color:
            aTurtle.end_fill()
    
    def draw_5_angle(aTurtle=None, start_pos=(0, 0), end_pos=(0, 10), radius=100, color=None):
        #根据起始位置、结束位置和外接圆半径画五角星
        aTurtle = aTurtle or turtle.Turtle()
        size = radius * math.sin(math.pi / 5) / math.sin(math.pi * 2 / 5)
        aTurtle.left(math.degrees(math.atan2(end_pos[1] - start_pos[1], end_pos[0] - start_pos[0])))
        aTurtle.penup()
        aTurtle.goto(start_pos)
        aTurtle.fd(radius)
        aTurtle.pendown()
        aTurtle.right(math.degrees(math.pi * 9 / 10))
        draw_n_angle(aTurtle, size, 5, color)
    
    def draw_5_star_flag(times=20.0):
        #绘制五星红旗
        width, height = 30 * times, 20 * times
        # 初始化屏幕和海龟
        aTurtle = turtle.Turtle()
        aTurtle.hideturtle()
        aTurtle.speed(10)
        # 画红旗
        aTurtle.penup()
        aTurtle.goto(-width / 2, height / 2)
        aTurtle.pendown()
        aTurtle.begin_fill()
        aTurtle.fillcolor('red')
        aTurtle.fd(width)
        aTurtle.right(90)
        aTurtle.fd(height)
        aTurtle.right(90)
        aTurtle.fd(width)
        aTurtle.right(90)
        aTurtle.fd(height)
        aTurtle.right(90)
        aTurtle.end_fill()
        # 画大星星
        draw_5_angle(aTurtle, start_pos=(-10 * times, 5 * times), end_pos=(-10 * times, 8 * times), radius=3 * times,
                     color='yellow')
        # 画四个小星星
        stars_start_pos = [(-5, 8), (-3, 6), (-3, 3), (-5, 1)]
        for pos in stars_start_pos:
            draw_5_angle(aTurtle, start_pos=(pos[0] * times, pos[1] * times), end_pos=(-10 * times, 5 * times),
                         radius=1 * times, color='yellow')
    
        window.exitonclick()
    
    
    if __name__ == '__main__':
        draw_5_star_flag()
        turtle.deno()

  • 相关阅读:
    一些有趣的chrome 插件
    蚁剑菜刀虚拟终端执行命令返回ret=127之bypass
    渗透工具:蚁剑(AntSword)教学
    追踪系统工作原理
    Burp Suite爆破Basic认证密码
    挖洞思路
    Spire.XLS打印页面设置教程 C# VB.NET Excel直接打印
    Connection is readonly. Queries leading to data modification are not allowed 解决方法
    shell order
    白帽专访丨大家好,我是王老师,Day1安全团队的创始人
  • 原文地址:https://www.cnblogs.com/dfq621/p/8576617.html
Copyright © 2020-2023  润新知