前言:
本人因喜欢python和c语言等程序设计语言,希望能够在这里和大家共同学习共同进步。
因个人喜好喜欢做题,有一个系列专栏关于python的习题专集,感兴趣的小伙伴可以去看看。
希望能在这里分享学习的一些知识碎片,接触时间不长,如果文章有任何错误,欢迎大家指正。
如果喜欢我的文章还请大家不吝动手给我点赞收藏关注哦,留下你来过的足迹,让我眼熟你。
目录
一、基础概念
1.1 画布(canvas)
画布我将它理解为画图时的一张纸。
(1)设置画布大小:turtle.screensize(canvwidth=None,canvheight=None,bg=None)
参数分别为画布的宽,高(单位为像素),背景颜色. 标准大小为400,300
例:
import turtle
turtle.screensize(800,600,"green")
turtle.done()
(2)设置窗体大小和位置: turtle.setup(width=0.5,height=0.75,startx=None,starty=None)
若窗体大于画布,画布随着窗体变大;若窗体小于画布,窗体会出现滚动条.
参数width,height输入为整数时表示像素;输入为小数时,表示所占屏幕比例。
参数(startx,starty):这一坐标表示矩形窗口左上角位置,如果为空,则位于屏幕中心
2.2 画笔
一只坐标原点上(位置),面朝x轴正方向(方向)的小乌龟(画笔)
(1)画笔的宽度: turtle.pensize() 最小像素为1(0.1也为1),最大不限制
turtle.width() 和pensize效果一样
(2)画笔的颜色:turtle.pencolor()
画笔颜色可以是字符串,也可以是RGB三元组
例:
import turtle
turtle.pencolor('green')
turtle.forward(100)
tup = (0.2, 0.8, 0.77)
turtle.pencolor(tup)
turtle.forword(100)
turtle.done()
(3)画笔的移动速度: turtle.speed(speed)
速度范围为 (0,10] 整数,0最快,除0之外,数字越大速度越快,大于10会和0一样速度
二、turtle空间坐标体系 (类比平面直角坐标系)
(1) 让画笔到达某一指定位置: turtle.goto(x,y)
turtle.setpos(x,y) turtle.setposition(x,y) # 效果是一样的
(2)向海龟正前方运行: turtle.fd(distance) forward
向海龟反方向运行: turtle.bk(distance) backward
说明:前后是相对海龟来说的,不是相对屏幕来说的。
三、turtle角度坐标体系
(1)改变海龟行进方向: turtle.setheading(angle)
缩写为: turtle.seth(angle)
(2)另一种表示法如下图所示(虽然画的不太好看):
可缩写成 turtle.lt(angle)和 turtle.rt(angle)
(其中angle默认为角度,但可通过 degress()和 radians()函数改变设置)
四、画笔运动命令
(1)将画笔落下去,移动时会画出图形: turtle.pendown()
缩写: turtle.pd() turtle.down()
(2)将画笔离开画布,移动时不会画出图形: turtle.penup()
缩写: turtle.pu() turtle.up()
(3)把箭头画出来: turtle.stamp()
说明:
如果用 import turtle as t ,可以将后续代码省略成 t.penup()
如果用from turtle import *,可以省略turtle,让代码更简洁,写起来也更方便