python奇闻杂技01 turtle学习
Turtle命令:
import turtle # 导入模块 t = turtle.Pen() # 生成画笔 t.speed() #设置速度0-10;0最快 t.forward() # 前进 t.backward() # 后退 t.right() #相对角度,画笔向右旋转多少度 t.left() #相对角度,画笔向左旋转多少度 t.pensize() #设置画笔粗细 t.color() #设置画笔颜色 t.fillcolor #(选择"填充的颜色“) t.begin_fill()#开始填充颜色 t.end_fill() #填充颜色结束 t.circle() #画圆 t.seth() # 设置初始角度,坐标系绝对角度 t.up() #抬起画笔,移动中不画线 t.down() #落下画笔 t.goto() #画笔移动到坐标系绝对位置x,y t.hideturtle() #隐藏画笔 turtle.setup() #设置初始窗口宽,高,位置 turtle.mainloop() #保持窗口 turtle.done() #同上
蟒蛇示例:
import turtle #导入turtle库 t=turtle.Pen() #设置一个画笔 t.shape('turtle') #把画笔设置为海龟形状 t.up() #抬起画笔 t.fd(-250) #抬起画笔移动,不会留下线条 t.down() #放下画笔 t.pensize(25) #设置画笔粗细 t.seth(-40) #绝对角度变为-40 t.color('purple') #画笔颜色变为紫色 for i in range(4): #通过数组画圆画出扭曲身体 t.circle(40,80) #半径40,角度为80的圆部分 t.circle(-40,80) t.left(40) #方向向做左旋转40,相对角度 t.fd(40) #向前40 t.circle(20,180) #画圆,掉头 t.fd(30) turtle.mainloop() #保持循环,窗口不消失去
五彩斑斓的蛇修改示例...
#修改部分
color_list = ['red','pink','green','blue','yellow'] for i in color_list: t.color(i) t.circle(40, 80) t.circle(-40, 80) t.color('black') t.left(40) t.fd(40) t.circle(20,180) t.fd(30) turtle.mainloop()
作业:
import turtle t=turtle.Pen() t.shape('turtle') #设置画笔为海龟 turtle.setup(800,800,100,100) #turtle.setup(width,height,startx,starty) 前两参数窗体大小,后两参数窗体左上角所在显示器位置 t.speed(0) #画笔速度最快 t.fillcolor('yellow') #脸,设置填充色为黄色 t.color('yellow') #设定画笔颜色为黄色 t.pensize(10) #设置画笔粗细 t.begin_fill() #开始填充颜色 t.circle(150,360) #画圆 t.end_fill() #结束填充颜色 t.up() #嘴,抬起画笔 t.fd(140) #画笔前进140 t.left(90) #向左旋转90度 t.fd(140) t.down() #落下画笔 t.color('red') t.pensize(5) t.circle(138,-180) t.up() #左眼 t.goto(-20,180) #画笔移动到指定坐标 t.down() t.color('white') t.pensize(25) t.left(70) #相对角度向左旋转70° for i in range(10): #调整眼睛弧度 t.fd(-10) t.left(5) t.up() #左眼珠 t.goto(-110,170) t.down() t.fillcolor('black') t.color('black') t.pensize(10) t.begin_fill() t.circle(10,360) t.end_fill() t.up() #右眼 t.goto(20,180) t.down() t.color('white') t.pensize(25) t.seth(20) #绝对角度为20° for i in range(10): t.fd(10) t.right(5) t.up() #右眼珠 t.goto(20,170) t.down() t.fillcolor('black') t.color('black') t.pensize(10) t.begin_fill() t.circle(10,360) t.end_fill() t.up() #左眉毛 t.goto(-20,240) t.down() t.color('black') t.pensize(2) t.seth(130) #绝对角度为130° for i in range(10): #调整眉毛弧度,粗细 t.fd(6) t.left(7) t.pensize(i) for i in range(10): t.fd(6) t.left(7) t.pensize(10-i) t.up() #右眉毛 t.goto(20,240) t.down() t.color('black') t.pensize(2) t.seth(50) #绝对角度为50° for i in range(10): t.fd(6) t.right(7) t.pensize(i) for i in range(10): t.fd(6) t.right(7) t.pensize(10-i) turtle.mainloop() #保持循环,保留窗口