Python学习17 Turtle库绘图

本文介绍了Python的Turtle库,用于图形绘制。通过Turtle库可以设置窗口大小和位置,控制画笔颜色和速度,并使用各种绘图命令创建蟒蛇、太阳花、五角星、小猪佩奇和樱花等图案。详细讲述了Turtle库的窗口、画布和画笔功能,并提供了相关程序代码示例。
摘要由CSDN通过智能技术生成

学习网址:https://docs.python.org/zh-cn/3/library/turtle.html

Turtle库

Turtle库是Python语言中一个很流行的绘制图像的函数库,一个小乌龟,在一个横轴为x、纵轴为y的坐标系原点(画布中心),(0,0)位置开始移动,从而在它爬行的路径上绘制了图形

Turtle-窗口

turtle.setup(width=0.5, height=0.75, startx=None, starty=None)用于设置窗口的大小和位置
参数:width, height: 输入宽和高为整数时, 表示像素; 为小数时, 表示占据电脑屏幕的比例;
(startx, starty): 这一坐标表示矩形窗口左上角顶点的位置, 如果为空,则窗口位于屏幕中心。

如:
turtle.setup(width=0.6,height=0.6)              
turtle.setup(width=800,height=800, startx=100, starty=100)

在这里插入图片描述
说明当画布尺寸比窗口小时,系统会自动把画布放大填充满整个窗口;比比窗口大时,会出现滚动条。

Turtle库-画布

画布就是turtle展开用于绘图的区域,我们可以设置它的大小和初始位置。
设置画布大小
turtle.screensize(canvwidth=None, canvheight=None, bg=None),参数分别为画布的宽(单位像素), 高, 背景颜色。

如:
turtle.screensize(800,600, "green")

Turtle库-画笔

画笔(画笔的属性,颜色、画线的宽度等)

  1. turtle.pensize():设置画笔的宽度;
  2. turtle.pencolor():没有参数传入,返回当前画笔颜色,传入参数设置画笔颜色,可以是字符串如"green", “red”,也可以是RGB 3元组。
  3. turtle.speed(speed):设置画笔移动速度,画笔绘制的速度范围[0,10]整数,数字越大越快。

Turtle-绘图命令

操纵海龟绘图有着许多的命令,这些命令可以划分为3种:一种为运动命令,一种为画笔控制命令,还有一种是全局控制命令
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

蟒蛇绘制程序

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
代码:

# author:dq
# project:PythonProject
# date:2021年11月18日
# function:
import turtle


def drawSnake(rad, angle, len, neckrad):
    for i in range(len):
        turtle.circle(rad, angle)
        turtle.circle(-rad, angle)
    turtle.circle(rad,angle / 2)
    turtle.fd(rad)
    turtle.circle(neckrad + 1, 180)
    turtle.fd(rad * 2 / 3)


def main():
    turtle.setup(1300, 800, 0, 0)
    pythonsize = 30
    turtle.pensize(pythonsize)
    turtle.pencolor("blue")
    turtle.seth(-40)
    drawSnake(40, 80, 5, pythonsize / 2)
    turtle.done()
main()

蟒蛇绘制程序说明

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

太阳花程序

在这里插入图片描述
在这里插入图片描述

五角星程序

在这里插入图片描述

在这里插入图片描述

小猪佩奇程序

在这里插入图片描述
代码:

import turtle as t

t.begin_fill()
t.pensize(4)
t.hideturtle()
t.colormode(255)
t.color((255, 155, 192), "pink")
t.setup(840, 500)
t.speed(10)

# 鼻子
t.pu()
t.goto(-100, 100)
t.pd()
t.seth(-30)
t.begin_fill()
a = 0.4
for i in range(120):
    if 0 <= i < 30 or 60 <= i < 90:
        a = a + 0.08
        t.lt(3)  # 向左转3度
        t.fd(a)  # 向前走a的步长
    else:
        a = a - 0.08
        t.lt(3)
        t.fd(a)
t.end_fill()

t.pu()
t.seth(90)
t.fd(25)
t.seth(0)
t.fd(10)
t.pd()
t.pencolor(<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DQ_CODING

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值