首页 > 编程语言 > 详细

Python turtle学习笔记

时间:2020-03-16 12:45:01      阅读:92      评论:0      收藏:0      [点我收藏+]

一、绘图的基本知识

(1)画布

 

turtle.setup(width, height, startx, starty)

 

setup()设置窗体大小及位置

4个参数中后两个可选(后两个省略时默认窗口在屏幕正中心)

setup()不是必须写的

(2)画笔

-在画布上,默认有一个坐标原点为画布中心的坐标轴, 坐标原点上有一只面朝x轴正方向小乌龟。这里我们描述小乌龟时使用了两个词语:标原点(位置),面朝x轴正方向(方向),turtle绘图中, 就是使用位置方向描述小乌龟(画笔)的状态。

 

1.画笔的属性

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

 

 

 

 

 

2.绘制命令

turtle.forward(distance)

向当前画笔方向移动distance像素长度

turtle.backward(distance) 向当前画笔相反方向移动distance像素长度
turtle.right(degree) 顺时针移动degree°
turtle.left(degree) 逆时针移动degree°
turtle.pendown() 移动时绘制图形,缺省时也会绘制
turtle.goto(x,y) 将画笔移动到坐标为x,y的位置
turtle.penup() 提起笔移动,不绘制图形,用于另起一个地方绘制
turtle.circle() 画圆,半径为正(负),表示圆心在画笔的左边(右边)画圆
turtle.setx( ) 将当前x轴移动到指定位置
turtle.sety( ) 将当前y轴移动到指定位置
turtle.setheading(angle) 设置当前朝向为angle角度
turtle.home() 设置当前画笔位置为原点,朝向东
turtle.dot(r) 绘制一个指定直径和颜色的圆点
turtle.fillcolor(colorstring) 绘制图形的填充颜色
turtle.color(color1, color2) 同时设置pencolor=color1, fillcolor=color2
turtle.filling() 返回当前是否在填充状态
turtle.begin_fill() 准备开始填充图形
turtle.end_fill() 填充完成
turtle.hideturtle() 隐藏画笔的turtle形状
turtle.showturtle() 显示画笔的turtle形状
turtle.seth(to_angle) 设置小海龟当前前进方向为to_angle,该角度是绝对方向的角度值

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

二、实例

1.使用turtle库绘制一个红色五角星图形

 1 import turtle
 2 
 3 turtle.pensize(4)
 4 turtle.pencolor("black")
 5 turtle.fillcolor("red")
 6 
 7 turtle.begin_fill()
 8 for _ in range(5):
 9 turtle.forward(200)
10 turtle.right(144)
11 turtle.end_fill()

技术分享图片

 

2.使用turtle库绘制一朵玫瑰花

 1 import turtle
 2 # 设置初始位置  
 3 turtle.penup()
 4 turtle.left(90)
 5 turtle.fd(200)
 6 turtle.pendown()
 7 turtle.right(90)
 8 
 9 
10 # 花蕊  
11 turtle.fillcolor("red")
12 turtle.begin_fill()
13 turtle.circle(10, 180)
14 turtle.circle(25, 110)
15 turtle.left(50)
16 turtle.circle(60, 45)
17 turtle.circle(20, 170)
18 turtle.right(24)
19 turtle.fd(30)
20 turtle.left(10)
21 turtle.circle(30, 110)
22 turtle.fd(20)
23 turtle.left(40)
24 turtle.circle(90, 70)
25 turtle.circle(30, 150)
26 turtle.right(30)
27 turtle.fd(15)
28 turtle.circle(80, 90)
29 turtle.left(15)
30 turtle.fd(45)
31 turtle.right(165)
32 turtle.fd(20)
33 turtle.left(155)
34 turtle.circle(150, 80)
35 turtle.left(50)
36 turtle.circle(150, 90)
37 turtle.end_fill()
38 
39 
40 # 花瓣1  
41 turtle.left(150)
42 turtle.circle(-90, 70)
43 turtle.left(20)
44 turtle.circle(75, 105)
45 turtle.setheading(60)
46 turtle.circle(80, 98)
47 turtle.circle(-90, 40)
48 
49 
50 # 花瓣2  
51 turtle.left(180)
52 turtle.circle(90, 40)
53 turtle.circle(-80, 98)
54 turtle.setheading(-83)
55 
56 
57 # 叶子1  
58 turtle.fd(30)
59 turtle.left(90)
60 turtle.fd(25)
61 turtle.left(45)
62 turtle.fillcolor("green")
63 turtle.begin_fill()
64 turtle.circle(-80, 90)
65 turtle.right(90)
66 turtle.circle(-80, 90)
67 turtle.end_fill()
68 
69 
70 turtle.right(135)
71 turtle.fd(60)
72 turtle.left(180)
73 turtle.fd(85)
74 turtle.left(90)
75 turtle.fd(80)
76 
77 # 叶子2  
78 turtle.right(90)
79 turtle.right(45)
80 turtle.fillcolor("green")
81 turtle.begin_fill()
82 turtle.circle(80, 90)
83 turtle.left(90)
84 turtle.circle(80, 90)
85 turtle.end_fill()
86 
87 turtle.left(135)
88 turtle.fd(60)
89 turtle.left(180)
90 turtle.fd(60)
91 turtle.right(90)
92 turtle.circle(200,60)

技术分享图片

Python turtle学习笔记

原文:https://www.cnblogs.com/wendy123/p/12499368.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!