【初识Python】python入门(三)

Lani ·
更新时间:2024-09-21
· 581 次阅读

turtle海龟绘图库

相关资料来自百度百科,以及MOOC教程。
turtle(海龟)是Python重要的标准库之一,
它能够进行基本的图形绘制。
turtle图形绘制的概念诞生于1969年,
成功应用于LOGO编程语言。
turtle库绘制图形有一个基本框架:
一个画笔在坐标系中移动,其运动轨迹形成了绘制图形。
刚开始绘制时,画笔位于画布正中央,此处坐标为(0,0),前进方向为水平向右。
另外,turtle库使用
RGB色彩模式。

turtle的绘图窗体

利用setup()来设置。

# setup各项参数 turtle.setup(width, height, startx, starty) setup()设置窗体大小及位置 4个参数中后两个可选 setup()不是必须的 空间坐标体系

在这里插入图片描述>>>>>>>>>画笔位于正中间(0,0)的位置。<<<<<<<<<<<<<

import 库引用

首先学了个实例,绘制小蛇。其中第一行。便是import的使用。
什么是import呢?

在这里插入图片描述而import的用法也是很多。
教学实例是小蛇的绘制。

在这里插入图片描述
这里先把画小蛇的三种使用import的方法写出来:

第一种

import turtle turtle.setup(650, 350, 200, 200) turtle.penup() turtle.fd(-250) turtle.pendown() turtle.pensize(25) turtle.pencolor("purple") turtle.seth(-40) for i in range(4): turtle.circle(40, 80) turtle.circle(-40, 80) turtle.circle(40, 80/2) turtle.fd(40) turtle.circle(16, 180) turtle.fd(40 * 2/3) turtle.done()

第二种

from turtle import * setup(650, 350, 200, 200) penup() fd(-250) pendown() pensize(25) pencolor("purple") seth(-40) for i in range(4): circle(40, 80) circle(-40, 80) circle(40, 80/2) fd(40) circle(16, 180) fd(40 * 2/3) done()

第三种

import turtle as t t.setup(650, 350, 200, 200) t.penup() t.fd(-250) t.pendown() t.pensize(25) t.pencolor("purple") t.seth(-40) for i in range(4): t.circle(40, 80) t.circle(-40, 80) t.circle(40, 80/2) t.fd(40) t.circle(16, 180) t.fd(40 * 2/3) t.done()

经过观察发现第二种好像更简便,
实则第二种限制会比较多,
只能用单个库里面的函数。
不过也可以作为一种借鉴。
所以使用第三种代码更好一点。
那么每行的作用是什么呢。

turtle库的函数 画笔控制函数 画笔抬起和落下

画笔操作后一直有效,一般成对出现
turtle.penup() 也可以写 turtle.pu() 抬起画笔
turtle.pendown() 也可以写 turtle.pd() 落下画笔

画笔的移动和变向

画笔的移动

①直线移动
turtle.forward(d) 也可以写 turtle.fd(d)
向前移动,画笔走直线
d: 行进距离,可以为负数

②曲线移动
turtle.circle(r, extent=None)
根据半径r绘制extent角度的弧形
r: 默认圆心在海龟左侧r距离的位置 extent:
绘制角度,默认是360度整圆

画笔的方向

①绝对角度 turtle.setheading(angle)
也可以写 turtle.seth(angle)
改变移动方向,画笔旋转一定角度
angle: 行进方向的绝对角度(x轴y轴水平坐标体系)

②相对角度
turtle.left(angle) 画笔向左转
turtle.right(angle) 画笔向右转
angle: 在海龟当前行进方向上旋转的角度

画笔颜色和大小

画笔设置后一直有效,直至下次重新设置
画笔宽度:turtle.pensize(width) 也可以写 turtle.width(width)
画笔颜色:turtle.pencolor(color) color为颜色字符串或r,g,b值
》》》》这里画笔的颜色color可以有三种形式。《《《《

在这里插入图片描述

循环语句

代码中另外一个要点就是循环语句的实现。

在这里插入图片描述

range()函数
产生循环计数序列
range(N)
产生 0 到 N-1的整数序列,共N个
range(M,N)
产生 M 到 N-1的整数序列,共N-M个

代码尝试

最后,我自己尝试写了个痛恨 喜爱的钉钉绘制
orz有点草陋。先放上预览图

在这里插入图片描述

代码如下:

from turtle import* def Goto(x,y): penup() goto(x,y) pendown() ht() speed(0) colormode(255) bgcolor(0,120,215) screensize(250,250) setup(250,250) Goto(0,-70) pencolor(46,160,240) fillcolor(46,160,240) begin_fill() circle(70,360) end_fill() Goto(10,-53) fillcolor(255,255,255) pencolor(255,255,255) begin_fill() seth(50) fd(36) seth(180) fd(11) seth(60) fd(39) seth(154) fd(87) seth(270) fd(21) seth(-24) fd(38) seth(172) fd(30) seth(-49) fd(18) seth(0) fd(25) seth(192) fd(21) seth(-39) fd(20) seth(10) fd(14) seth(-110) fd(18) seth(0) fd(10) seth(251) fd(22) end_fill() done()
作者:江海寄余生吖



Python Python入门 初识python

需要 登录 后方可回复, 如果你还没有账号请 注册新账号