当前位置:
首页 > temp > python入门教程 >
-
双十一,就用turtle画个单身狗送给自己
单身是一种怎样的状态? 我们所有人都单身过,但也许只有很少的人真正体验过。
短视频内容完全是假的,全程是一个人的操作,你必须拥有一台好的手机、一个好的文案想法。
Turtle
Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一只小乌龟,在一个横轴为x、纵轴为y的坐标系内,从原点(0,0)位置开始,它根据一组函数指令,在这个平面坐标系中移动,从而在它爬行的路径上绘制了图形。
Turtle函数
操纵海龟绘图有着许多的函数,这些函数可以划分为3种:一种为画笔控制函数,一种为运动控制函数,还有一种是方向控制函数。
画笔控制函数
函数名 | 作用 |
---|---|
turtle.penup() | 抬起画笔,不绘画 |
turtle.pendown() | 落下画笔,开始绘画,前两者成对出现 |
turtle.pencolor() | 绘画颜色 |
turtle.pensize() | 画笔粗细 |
运动控制函数
函数名 | 作用 |
---|---|
turtle.forward(d) | 向前行进,走直线,d可以为负值 |
turtle.circle(r,extent=None) | 以r为半径绘制extent角度的弧形,extent可缺省,默认绘制整圆。r为正,即在前进方向的左侧绘制,为负,即在右侧绘制。 |
方向控制函数
函数名 | 作用 |
---|---|
turtle.setheading(angle) | 改变行进方向,但不行进,为绝对角度 |
turtle.left(angel) | 海龟向左转,angel在海龟当前行进方向上旋转的角度 |
turtle.right(angel) | 海龟向右转,angel在海龟当前行进方向上旋转的角度 |
绘画单身狗
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
|
import turtle as t t.screensize( 500 , 500 ) # 【头部轮廓】 t.pensize( 5 ) t.home() t.seth( 0 ) t.pd() #pendown t.color( 'black' ) t.circle( 20 , 80 ) # 0 t.circle( 200 , 30 ) # 1 t.circle( 30 , 60 ) # 2 t.circle( 200 , 29.5 ) # 3 t.color( 'black' ) t.circle( 20 , 60 ) # 4 t.circle( - 150 , 22 ) # 5 t.circle( - 50 , 10 ) # 6 t.circle( 50 , 70 ) # 7 # 确定鼻头大概位置 t.xcor和t.ycor乌龟一开始的位置 x_nose = t.xcor() y_nose = t.ycor() t.circle( 30 , 62 ) # 8 t.circle( 200 , 15 ) # 9 # 【鼻子】 t.pu() #penup t.goto(x_nose, y_nose + 25 ) t.seth( 90 ) t.pd() t.begin_fill() t.circle( 8 ) t.end_fill() # 【眼睛】 t.pu() t.goto(x_nose + 48 , y_nose + 55 ) t.seth( 90 ) t.pd() t.begin_fill() t.circle( 8 ) t.end_fill() # 【耳朵】 t.pu() t.color( '#444444' ) t.goto(x_nose + 100 , y_nose + 110 ) t.seth( 182 ) t.pd() t.circle( 15 , 45 ) t.color( 'black' ) t.circle( 10 , 15 ) t.circle( 90 , 70 ) t.circle( 25 , 110 ) t.rt( 4 ) t.circle( 90 , 70 ) t.circle( 10 , 15 ) t.color( '#444444' ) t.circle( 15 , 45 ) # 【身体】 t.pu() t.color( 'black' ) t.goto(x_nose + 90 , y_nose - 30 ) t.seth( - 130 ) t.pd() t.circle( 250 , 28 ) t.circle( 10 , 140 ) t.circle( - 250 , 25 ) t.circle( - 200 , 25 ) t.circle( - 50 , 85 ) t.circle( 8 , 145 ) t.circle( 90 , 45 ) t.circle( 550 , 5 ) # 【尾巴】 t.seth( 0 ) t.circle( 60 , 85 ) t.circle( 40 , 65 ) t.circle( 40 , 60 ) t.lt( 150 ) #left t.circle( - 40 , 90 ) t.circle( - 25 , 100 ) t.lt( 5 ) t.fd( 20 ) t.circle( 10 , 60 ) # 【背部】 t.rt( 80 ) #right t.circle( 200 , 35 ) # 【项圈】 t.pensize( 20 ) t.color( '#F03C3F' ) t.lt( 10 ) t.circle( - 200 , 25 ) # 【爱心铃铛】 t.pu() t.fd( 18 ) t.lt( 90 ) t.fd( 18 ) t.pensize( 6 ) t.seth( 35 ) #setheading t.color( '#FDAF17' ) t.begin_fill() t.lt( 135 ) t.fd( 6 ) t.right( 180 ) # 画笔掉头 t.circle( 6 , - 180 ) t.backward( 8 ) t.right( 90 ) t.forward( 6 ) t.circle( - 6 , 180 ) t.fd( 15 ) t.end_fill() # 【前小腿】 t.pensize( 5 ) t.pu() t.color( 'black' ) t.goto(x_nose + 100 , y_nose - 125 ) t.pd() t.seth( - 50 ) t.fd( 25 ) t.circle( 10 , 150 ) t.fd( 25 ) # 【后小腿】 t.pensize( 4 ) t.pu() t.goto(x_nose + 314 , y_nose - 125 ) t.pd() t.seth( - 95 ) t.fd( 25 ) t.circle( - 5 , 150 ) t.fd( 2 ) t.hideturtle() t.done() |
得到的结果如下:
本文已收录 GitHub,传送门~ ,里面更有大厂面试完整考点,欢迎 Star。
出处:https://www.cnblogs.com/lyck/p/13958961.html
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
SQL Server -- 解决存储过程传入参数作为s
关于JS定时器的整理
JS中使用Promise.all控制所有的异步请求都完
js中字符串的方法
import-local执行流程与node模块路径解析流程
检测数据类型的四种方法
js中数组的方法,32种方法
前端操作方法
数据类型
window.localStorage.setItem 和 localStorage.setIte
如何完美解决前端数字计算精度丢失与数