python第三方库turtle库实例详细注释版(1)

太极图

from turtle import *

def draw(radius,color1,color2):
    #设置钢笔粗细
    width(3)
    #设置钢笔颜色和填充颜色
    color("black",color1)
    #绘制鱼
    begin_fill()
    #绘制圆,指定半径和绘制范围
    #当半径为正数时,逆时针绘制
    #当半径为负数时,顺时针绘制
    circle(radius/2,180)
    circle(radius,180)
    #向左旋转180度
    left(180)
    circle(-radius/2,180)
    end_fill()
    left(90)
    #抬起钢笔,再运动时不会绘制任何图形
    up()
    #向前移动
    forward(radius*0.35)
    right(90)
    #落下钢笔
    down()
    color(color2,color2)
    #绘制鱼眼
    begin_fill()
    circle(radius*0.15)
    end_fill()
    left(90)
    up()
    #后退
    backward(radius*0.35)
    down()
    left(90)


def main():
    #设置窗口大小
    setup(500,500)
    #绘制白色鱼眼的黑鱼
    draw(200,"black","white")
    #绘制黑色鱼眼的白鱼
    draw(200,"white","black")
    #隐藏钢笔
    ht()


main()
mainloop()

科赫雪花

import turtle
# 引入决解问题需要的工具——turtle作图包 
# 定义turtle画笔和画布的参数
def huabi():                           
    turtle.speed(0)                    # speed()参数有[0,10]:“0”特殊、代表最快速度,其余[1,10]值越大、速度越快
    turtle.pensize(2)                  # 设置画笔宽度为2
    turtle.setup(800,800, 100, 10)     # setup()参数有4个:前两个代表画布的“宽”和“高”,当数值为整数时、表示绝对像素大小,当小数时、表示站屏幕的比例。后两个可以省略,默认为屏幕中心位置,代表距离“屏幕左上角”的距离,单位是像素密度,
    turtle.penup()                     # 抬起画笔,之后的画笔动作、就不会产生图线
    turtle.goto(-300, 100)             # 以画布中心点为坐标原点(0,0),将画笔移动到坐标(-300,100)处
    turtle.pendown()                   # 落下画笔,以便画图
 
# 定义“尖”
def koch(size, n):
    if n==0:                           #  0阶的科赫雪花曲线就是一条线,大小为输入的“size”
        turtle.fd(size)
    else:                              # 高阶科赫雪花曲线
        for i in [0, 60, -120, 60]:    # turtle在“尖”的四条线上改变的角度,分别为0°,60°,-129°,60°
            turtle.left(i)             # 对应上边四个角度,一共需要转4次弯,画出本阶的四条线,
            koch(size/3, n-1)          # 每个角度下的一个边,对应低一阶的客户雪花曲线的“尖”;至此完成函数本身的循环和复用,自动画出一个完整的n阶“尖”
 
# 定义“边”
def sdkoch(size, n):                   # 完整的科赫雪花曲线由3个“边”组成,我们以上完成的是一个由“尖”组成的“边”,
    koch(size, n)
    turtle.right(120)                  # 2行代码一组,
    koch(size, n)
    turtle.right(120)
    koch(size, n)                      # 至此,得到完整的n阶科赫雪花曲线
    turtle.hideturtle()                # 把turtle的光标隐藏
    turtle.done()                      # 结束turtle
 
# 定义main()主函数
def main(size, n):                     # 设定参数接口
    huabi()
    sdkoch(size, n)
 
main(500, 2)                           # 在设定参数之后,调用主函数


欢迎关注我的公众号【panda一块砖】,更新更多编程相关文章与资源。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值