python 乌龟绘图turtle模块的使用

学习目标

python具有很多方便的工具库

一旦拥有,轻松出效果

本节内容目标:

  • 体验模块的用法
  • 自定义绘图
  • 直接使用代码一键出效果图

了解turtle模块

  • 翻译turtle
    在这里插入图片描述

  • turtle神龟

在这里插入图片描述

乌龟绘图坐标系

在这里插入图片描述

导入模块

import 模块名

模块即工具包

在当前的文件中使用了导入模块的语句

相当于把工具包拿到了身边

然后需要什么功能,直接使用工具包中的相关工具即可

在这里插入图片描述

使用工具

语法

模块名.工具名(参数)
注:有的工具需要参数,有的工具不需要参数

turtle模块中的’工具’简览

接下来是绘图的时间

使用工具包中的一些工具来完成

相关工具功能如下:

导入turtle库
?
import turtle


移动到坐标100,100
?
turtle.goto(100,100)


画一个半径为30的圆形
?
turtle.circle(30)
!
默认是逆时针画


画一个半径为30的圆形,只画一半
?
turtle.circle(30,180)
!
参数二是角度


向前100
?
turtle.fd(100)
turtle.forward(100)


向后100
?
turtle.bk(100)
turtle.backward(100)



向左转45度
?
turtle.left(45)


向右转90度
?
turtle.right(90)


绘制一个填充色为蓝色的圆形
?
turtle.fillcolor("blue")
turtle.begin_fill()
turtle.circle(20)
turtle.end_fill()

画笔提起,让乌龟飞起来
?
turtle.penup()


画笔放下,让乌龟落地
?
turtle.pendown()


让画布停住
?
turtle.done()

更详细的turtle相关的使用方法,可参看:

https://www.cnblogs.com/Archer-Xin/p/12215490.html

练习:自定义绘图

  • 绘一个圆形
  • 绘一个三角形
  • 绘一个长方形

大中型绘图

五角星

import turtle
import time

turtle.pensize(5)
turtle.pencolor("yellow")
turtle.fillcolor("red")

turtle.begin_fill()
for _ in range(5):
    turtle.forward(200)
    turtle.right(144)
turtle.end_fill()
time.sleep(2)

turtle.penup()
turtle.goto(-150, -120)
turtle.color("violet")
turtle.write("Done", font=('Arial', 40, 'normal'))

turtle.mainloop()

圆形图堆叠


#coding=utf-8
import turtle
spiral=turtle.Turtle()
ninja=turtle.Turtle()
ninja.speed(10)
 
for i in range(100):
    ninja.forward(100)
    ninja.right(30)
    ninja.forward(20)
    ninja.left(60)
    ninja.forward(50)
 
    ninja.penup()
    ninja.setposition(0,0)
    ninja.pendown()
 
    ninja.right(2)



玫瑰花

import turtle
 
#渐大
def increases(a,z,f):
    #a:画笔起始大小;z:画笔终止大小;f:渐变拉伸距离
    for i in range(a,z):
        p.pensize(i)
        p.forward(f)
 
#渐小
def smaller(a,z,f):
    for i in range(a,z,-1):
        p.pensize(i)
        p.forward(f)
 
#花蕊
def flower():
    #右下
    p.up()
    p.home()
    p.goto(0,0)
    p.pencolor('red')
    p.left(15)
    p.down()
    increases(1,7,5)
    p.circle(50,70)
    p.forward(60)
    p.circle(-100,15)
    smaller(7,1,5)
    #左下
    p.up()
    p.home()
    p.goto(-20,0)
    p.left(180)
    p.down()
    increases(1,7,5)
    p.circle(-60,85)
    p.forward(60)
    p.circle(100,15)
    smaller(7,1,5)
    #右边
    p.up()
    p.home()
    p.goto(80,250)
    p.left(10)
    p.down()
    increases(1,5,5)
    p.circle(-20,120)
    p.circle(-130,20)
    p.forward(50)
    p.circle(100,15)
    smaller(5,1,6)
    #左边
    p.up()
    p.home()
    p.goto(-110,240)
    p.left(180)
    p.down()
    increases(1,5,5)
    p.circle(30,130)
    p.circle(130,15
  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值