turtle库:
使用turtle库,可绘制图像,下面我们以“NEUSOFT”logo为例:
思路:把此logo分为六个大写字母,然后在画板上分别画出来。
- 导入turtle库
先导入turtle库, as 是给库起一个别名, t 代替 turtle
import turtle as t
- 设置画笔的大小及颜色
t.pensize()的作用:设置画笔的大小,()里填写数字,默认单位为px,即为屏幕中最小的物理点
t.color()的作用:设置画笔的颜色,()里填写颜色代码,用单引号或双引号括起来,()中第一个参数画笔颜色,第二个参数为封闭图形的填充颜色
t.pensize(10)
t.color('blue',"yellow")
- 修改画笔抬笔位置(抬完笔记得要落笔)
t.penup():抬笔操作,简写t.pu
t.goto():前往一个位置
t.down():落笔操作,简写t.dw
t.penup()
t.goto(-300,0)
t.pendown()
- 画第一个字母,N ==>
t.left(N)的作用:左转N度,简写为t.lf()
t.right(N)的作用:右转N度,简写为t.rt()
t.forward()的作用:径直走(正数往右,负数往右),简写为t.fd()
t.left(90)
t.fd(80)
t.right(145)
t.fd(100)
t.left(145)
t.fd(80)
- 画第二个字母,E ==>
t.penup()
t.goto(-150,80)
t.pendown()
t.right(90)
t.fd(-50)
t.left(90)
t.fd(-80)
t.left(90)
t.fd(-50)
t.fd(50)
t.right(90)
t.fd(40)
t.right(90)
t.fd(40)
- 画第三个字母,U ==>
t.penup()
t.goto(-110,80)
t.pendown()
t.left(-90)
t.fd(50)
t.circle(30,180)
t.fd(50)
t.circle(a,b)的作用:画弧形,参数a代表半径,参数b代表画多少度
t.circle(30,180)
t.fd(60)
- 画第四个字母,S ==>
t.penup()
t.goto(30,60)
t.pendown()
t.circle(20,270)
t.circle(-20,270)
- 画第五个字母,O ==>
封闭图像填充(填充颜色随着画笔的颜色)
t.begin_fill()的作用:代表填充开始
t.end_fill()的作用: 代表填充结束
t.begin_fill()
t.penup()
t.goto(70,60)
t.pendown()
t.fd(-40)
t.circle(-20,-180)
t.fd(-40)
t.circle(-20,-180)
t.end_fill()
- 画第六个字母,F ==>
t.penup()
t.goto(205,80)
t.pendown()
t.right(90)
t.fd(-50)
t.left(90)
t.fd(-80)
t.fd(40)
t.right(90)
t.fd(40)
- 画第七个字母,T ==>
t.penup()
t.goto(290,80)
t.pendown()
t.fd(-50)
t.fd(25)
t.right(90)
t.fd(80)
t.done()作用:保持GUI界面一直显示,所有绘制的代码都要写到该函数之前,不写的话GUI界面会闪退
t.done()
我们来看看完整的代码():
# 画NEUSOFT logo
import turtle as t
# 设置画笔的大小及颜色
t.pensize(10)
t.color("blue","green")
# 修改画笔默认位置
t.penup()
t.goto(-300,0)
t.pendown()
# 画N字
t.left(90)
t.fd(80)
t.right(145)
t.fd(100)
t.left(145)
t.fd(80)
# 画E字
t.penup()
t.goto(-150,80)
t.pendown()
t.right(90)
t.fd(-50)
t.left(90)
t.fd(-80)
t.left(90)
t.fd(-50)
t.fd(50)
t.right(90)
t.fd(40)
t.right(90)
t.fd(40)
# 画U字
t.penup()
t.goto(-110,80)
t.pendown()
t.left(-90)
t.fd(50)
t.circle(30,180)
t.fd(50)
# 画S字
t.penup()
t.goto(30,60)
t.pendown()
t.circle(20,270)
t.circle(-20,270)
# 画O字
t.begin_fill()
t.penup()
t.goto(70,60)
t.pendown()
t.fd(-40)
t.circle(-20,-180)
t.fd(-40)
t.circle(-20,-180)
t.end_fill()
# 画F字
t.penup()
t.goto(205,80)
t.pendown()
t.right(90)
t.fd(-50)
t.left(90)
t.fd(-80)
t.fd(40)
t.right(90)
t.fd(40)
# 画T字
t.penup()
t.goto(290,80)
t.pendown()
t.fd(-50)
t.fd(25)
t.right(90)
t.fd(80)
t.done()
程序运行结果如下:
注:引用了turtle库的“.py”文件需要特别的编辑器才能运行,因此,为了解决这个问题,让“.py”文件可以在任意电脑上运行,我们还需要把它给“打包”。
打包的方式如下:
用turtle库写的.py文件打包成.exe文件:
-
先安装第三方库pyinstaller(已安装的请忽略),在下面的pycharm主页面下方的"Terminal"中输入“pip install pyinstaller”,即可自动安装。
-
在"Terminal"中继续输入“pyinstaller -F 文件名.py”,稍等片刻即可完成转换。此文件名为所需要转换的.py文件(一定是使用了turtle库的py文件)
-
所生成的.exe文件在你所自定义的pycharm项目文件下的dist文件夹中,请自行查看('demo1-4.spec'文件是新增的文件)