您的位置:首页 > 编程语言 > Python开发

【16】python使用turtle库绘画

2016-11-05 22:16 691 查看
画蛇

import turtle

def drawSnake(rad, angle, len, neckrad):  #

    for i in range(len):

        turtle.circle(rad, angle)   # 画圆 rad:圆半径 angle:圆弧度

        turtle.circle(-rad, angle)

    turtle.circle(rad, angle/2)

    turtle.fd(rad)  # 表示直线爬行,forward, 参数表示爬行的距离

    turtle.circle(neckrad+1, 180)

    turtle.fd(rad*2/3)

def main():

    turtle.setup(1300, 800, 0, 0)   # 甚至窗口宽+高+起始x/y

    pythonsize = 100

    turtle.pensize(pythonsize)   # 设置笔的宽度

    turtle.pencolor("red")  # 设置笔的颜色

    turtle.seth(-40)  # 设置笔的起始角度

    drawSnake(40, 80, 5, pythonsize/2)

main()

""""

python 的调用方式

1:import 库名

调用的时:库.函数名

优点:可以更改函数中函数的名字

2, from 库名 import 函数名
"""

画五角星

顺序结构

    import turtle

    turtle.setup(2000, 2000, 0, 0)

    turtle.pensize(20)

    turtle.pencolor("black")

    turtle.seth(0)

    turtle.fd(400)

    turtle.seth(-144)

    turtle.fd(400)

    turtle.seth(-144-144)

    turtle.fd(400)

    turtle.seth(-144 - 144-144)

    turtle.fd(400)

    turtle.seth(-144 - 144-144-144)

    turtle.fd(400)
循环结构   

    import turtle

    turtle.setup(2000, 2000, 0, 0)

    turtle.pensize(20)

    turtle.pencolor("black")

    turtle.seth(0)

    length = 400

    angle = 0

    for i in range(5):

        turtle.fd(length)

        angle = angle - 144

        turtle.seth(angle)
循环递归函数

import turtle

def drawFivePiontedStar(length, angle):

    """

    Draw five_pointed_star by turtle library

    Initial screen ;width+height+initial position

    Initial pen: font+color

    Drawing line by recursive_function

    :param length: Initial five_pointed_star length

    :param angle: Initial position

    :return: None

    """

    def drawline(length, angle):

        turtle.seth(angle)

        turtle.fd(length)

    turtle.setup(2000, 2000, 0, 0)

    turtle.pensize(20)

    turtle.pencolor("black")

    for i in range(5):

        drawline(length, angle)

        angle = angle-144

if __name__ == "__main__":

    drawFivePiontedStar(400, 0)



画树

import turtle

def branch(length, level):

    """

    使用递归函数实现画树

    以没有树杈为例

    起始角度为90°

    向左转换角45°,看有没有树杈(level)

    如果没有,向右转换角90°(-45),看有没有树杈

    如果没有,向右转换45°(0),返回原路

    """

    if level <= 0:

        return

    turtle.forward(length)

    turtle.left(45)

    branch(0.6 * length, level - 1)  # 90

    turtle.right(90)

    branch(0.6 * length, level - 1)

    turtle.left(45)

    turtle.backward(length)

    return

if __name__ == "__main__":

    turtle.left(90)

    branch(100, 3)

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python