• python之demo2----改编自python官方提供的turtle_yinyang.py画阴阳的demo


    """
        执行 python -m turtledemo 命令查看系统内置demo的源码
    
        绘制:需要通过import turtle引入绘制图形库turtle库
        改编自python提供的turtle_yinyang.py
    author:bravestarr
    date:12/7/2017
    """
    import turtle
    
    # 定义大圆半径200,则小圆半径big_radius * 0.5, 假如内部最小圆半径为big_radius*0.15
    big_radius = 200
    
    
    def main():
        turtle.reset()
        turtle.shape("turtle")
        yin("black", "white", 1)
        yin("white", "black", -1)
        turtle.ht()
    
    
    def yin(big_fillcolor, inner_fillcolor, direction):
        """
        画一半阴阳八卦
        :param big_fillcolor:   外部大圆填充色
        :param inner_fillcolor: 内部小圆填充色
        :param direction: 1表示开始默认开始方向向右,-1表示开始默认开始方向向左
        :return:
        """
        turtle.pensize(3)
        # 设置pencolor和fillcolor
        turtle.color("black", big_fillcolor)
        # 开始填充
        turtle.begin_fill()
        # 画内半圆
        turtle.circle(big_radius / 2.0, 180)
        # 画外半圆
        turtle.circle(big_radius, 180)
        # 海龟箭头左转180度
        turtle.lt(180)
        # 反方向画内半圆,反方向画圆,半径前要加 -
        turtle.circle(-big_radius / 2.0, 180)
        # 结束填充
        turtle.end_fill()
        # 画笔抬起
        turtle.pu()
        # 从画笔当前位置开始画圆,因此需要减去内圆半径,y方向移动,x方向不变
        turtle.sety(direction * big_radius * (0.5 - 0.15))
        # 画笔放下
        turtle.pd()
        # 设置pencolor和fillcolor
        turtle.color(big_fillcolor, inner_fillcolor)
        # 开始填充内圆
        turtle.begin_fill()
        # 画内圆
        turtle.circle(big_radius * 0.15)
        # 结束填充内圆
        turtle.end_fill()
        # 画笔抬起
        turtle.pu()
        # 海龟箭头回到(0, 0)坐标
        turtle.goto(0, 0)
        # 画笔放下
        turtle.pd()
        # 海龟箭头左转180度
        turtle.lt(180)
        return "Done!"
    
    
    if __name__ == '__main__':
        main()
        turtle.mainloop()
        
  • 相关阅读:
    [POJ1743]Musical Theme
    [HDU5343]MZL's Circle Zhou
    [ZJOI2015]诸神眷顾的幻想乡
    [SDOI2016]生成魔咒
    [POI2000]Repetitions
    [SPOJ-NSUBSTR]Substrings
    [SPOJ-LCS2]Longest Common Substring II
    [SPOJ-LCS]Longest Common Substring
    [SDOI2010]地精部落
    [HNOI2003]消防局的设立
  • 原文地址:https://www.cnblogs.com/bravestarrhu/p/8287334.html
Copyright © 2020-2023  润新知