python画图代码星星-Python中turtle作图⽰例在Python⾥,海龟不仅可以画简单的⿊线,还可以⽤它画更复杂的⼏何图形,⽤不同的颜⾊,甚⾄还可以给形状填⾊。
⼀、从基本的正⽅形开始
引⼊turtle模块并创建Pen对象:
>>> import turtle
>>> t = turtle.Pen()
前⾯我们⽤来创建正⽅形的代码如下:
>>> t.forward(50)
>>> t.left(90)
>>> t.forward(50)
>>> t.left(90)
>>> t.forward(50)
>>> t.left(90)
>>> t,forward(50)
此段代码太长,我们可以⽤for循环进⾏优化:
>>> t.reset()
>>> for x in range(1,5):
t.forward(50)
t.left(90)
效果如下:
⼆、画星星
我们只需把for循环做⼀些改动即可,代码如下:
>>> t.reset()
>>> for x in range(1,9): ##循环⼋次
t.forward(100) ##前进100像素
t.left(225) ##向左旋转225度
效果如下:
然⽽我们还可以进⼀步改进,⽐如每次旋转175度,循环37次,代码如下:
>>> t.reset()
>>> for x in range(1,38):
t.forward(100)
t.left(175)
效果如下:
我们还可以画螺旋星,代码如下:
>>> t.reset()
>>> for x in range(1,20):
t.forward(100)
t.left(95)
效果如下:
现在让我们⽤if语句控制海龟的转向来绘制不同的星星。让海龟先转⼀个⾓度,然后下⼀次转⼀个不同的⾓度。
在这⾥,我们先创建⼀个运⾏18次的循环(range(1,19)),然后让海龟向前移动100个像素(t.forward(100))。接下来是if语句(ifx%2 == 0),它的意思是:x除以2的余数是否等于0.如果x中的数字是偶数,我们让海龟左转175度(t.left(175)),否则(else)我们让它左转225度。代码如下:
>>> t.reset()
>>> for x in range(1,19):
t.forward(100)
if x % 2 == 0:
t.left(175)
else:
t.left(225)
效果如下:
三,画汽车
试着画⼀辆⼩汽车,给⾃⼰树⽴⼀个⼩⽬标,说不定哪⼀天就实现了。
(这段代码新增了color,begin_fill,end_fill,circle,setheading函数)
>>> import turtle
>>> t = turtle.Pen()
>>> t.color(1,0,0)
>>> t.begin_fill()
>>> t.forward(100)
>>> t.left(90)
>>> t.forward(20)
>>> t.left(90)
>>> t.forward(20)
>>> t.right(90)
>>> t.forward(20)
>>> t.left(90)
>>> t.forward(60)
>>> t.left(90)
>>> t.forward(20)
>>> t.right(90)
>>> t.forward(20)
>>> t.left(90)
>>> t.forward(20)
>>> t.end_fill()
车⾝
>>> t.color(0,0,0)
>>> t.up()
>>> t.forward(10)
>>> t.down()
python新手代码画图>>> t.begin_fill()
>>> t.circle(10)
>>> t.end_fill()
左车轮
>>> t.setheading(0)
>>> t.up()
>>> t.forward(90)
>>> t.right(90)
>>> t.forward(10)
>>> t.setheading(0)
>>> t.begin_fill()
>>> t.down()
>>> t.circle(10)
>>> t.end_fill()
右车轮
整合后效果如下:
下⾯来集中介绍下新增的⼏个函数:1,color是⽤来改变画笔颜⾊的。
2,begin_fill和end_fill是⽤来给画布上的⼀个区域填⾊的。
3,circle是⽤来画⼀个指定⼤⼩的圆。
4,setheading让海龟⾯向指定的⽅向。
总结:
这次⽐上次更深⼊的运⽤了Python的turtle模块来画⼏个基本的⼏何图形,还有for循环和if语句来控制海龟在屏幕上的动作。同时改变了海龟的笔的颜⾊并给它所画的形状填⾊。接下来将开始学习填⾊。
以上就是本⽂关于Python中turtle作图⽰例的全部内容,希望对⼤家有所帮助。感兴趣的朋友可以继续参阅本站:
如有不⾜之处,欢迎留⾔指出。期待您的宝贵意见。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论