1 说明 ==== 1.1 环境:python3.8,集成(内置)turtle库;华为笔记本电脑+deepin-linux操作系统。 1.2 turtle库入门级介绍:基本了解turtle库,python基础知识复习,讲解清楚,注释仔细,小白秒懂,逐步深入,适合仔细品读。 1.3 代码来自turtle demo和网络(自己整理和加工),仅供学习,如有侵权,请联系,定删。 2 海龟画图初级 =========== 2.1 基本窗口设置和图片显示 2.2 显示图片 2.3 代码: #自定义窗口大小,背景颜色#窗口标题名,位置import turtle as t#方法一#其实是通过设置画布大小来改变窗口大小#t.screensize(800, 600, 'green')#screensize() #返回默认大小(400, 300)#用screensize设置的是画布大小及背景色,窗体和画布不是一个概念#会出现滚动条#方法二#屏幕的宽和高的百分百,默认位置屏幕的居中#t.setup(width=0.6, height=0.6)#指定窗口大小和位置,注意左上角坐标为0,0t.setup(width=800, height=800, startx=100, starty=100)#载入背景图片,是原图大小显示与窗口大小不是自适应#t.bgpic('/home/xgj/Desktop/turtle/1.jpeg') #bug,可以识别png图片,但是jpeg不行#用截图工具,截图生产png,可以。#网上说只能显示gif图片,其实还可以显示png图片t.bgpic('/home/xgj/Desktop/turtle/2.png') #请注意,还可以显示gif图片,但是gif图片是不动的#窗口的标题名#默认为Python Turtle Graphics#t.title('good') #可自定义#需要手动关闭t.done() 3 太阳花 ====== 3.1 效果图 3.2 代码:
4 画圆和多边形 ============ 4.1 效果图 4.2 代码 from turtle import * #turtle.circle(radius, extent=None, steps=None)#extent为度数,默认360°,也就是一圈#steps数值越大,圆的弧线越平滑,一般推荐50,不设置就是默认#circle(100) #默认360°为一圈circle(200,360,50) #圆circle(200,360,3) #为三角形circle(200,360,9) #为9边形done() 4.3 同心圆代码
4.4 同心圆效果图 4.5 移动的圆 ========== 4.5.1 效果图 4.5.2 代码 #移动的圆from turtle import * bgcolor('black')#该函数学习# 自定义坐标系统,并切换到 world 模式setworldcoordinates(-100,-100, 150, 100) speed(0) pendown() pencolor('green')#画圆circle(30,360,50) for s in range(400): setworldcoordinates(-100,-100, 10+s*0.5, 100)done() 5 高级一点 ======== 5.1 效果图 5.2 代码
5.3 输入文字的代码 import turtle as t #画布的背景颜色设置t.bgcolor('black')#textinput是调用tkinter的弹出框#第一个字符串为弹出窗口的标题名#第二个字符串为输入框上面的文字名my_name=t.textinput('输入你的姓名','你的名字?')colors=['red','yellow','purple','blue']#100为一百圈for x in range(100): #画笔的颜色选择 t.pencolor(colors[x%4]) #提笔 t.penup() #向前步长 t.forward(x*4) #落笔 t.pendown() #文字输出 t.write(my_name,font=('Arial',int((x+4)/4),'bold')) #向左转动92° t.left(92) #结束后手动关闭窗口t.done() 5.4 效果图 6 画树 ==== 6.1 图 6.2 代码
7 高级互动性 ========== 7.1 效果图 7.2 代码 from turtle import Screen,Turtle,mainloopclass ColorTurtle(Turtle): #类的初始化定义 def __init__(self,x,y): Turtle.__init__(self) self.shape('turtle') self.resizemode('usre') self.shapesize(3,3,0) self.pensize(10) self._color=[0,0,0] self.x=x self._color[x]=y self.color(self._color) self.speed(0) self.left(90) self.up() self.goto(x,0) self.down() self.sety(1) self.up() self.sety(y) self.pencolor('black') self.ondrag(self.shift) #类的函数定义 def shift(self,x,y): self.sety(max(0,min(y,1))) self._color[self.x]=self.ycor() self.fillcolor(self._color) setbgcolor()#独立的函数定义def setbgcolor(): screen.bgcolor(red.ycor(),green.ycor(),blue.ycor()) #主函数定义def main(): global screen,red,green,blue screen=Screen() screen.delay(0) screen.setworldcoordinates(-1,-0.3,3,1.3) red=ColorTurtle(0,.7) green=ColorTurtle(1,.3) blue=ColorTurtle(2,.6) setbgcolor() if __name__=='__main__': main() mainloop() 代码来源网络,仅供学习。 |
|
来自: 新用户0935snDB > 《待分类》