python turtle绕原点旋转_Python教程小小turtle绘图教学 (二)

72112817cad5bad3954ad6d1ae4ba59b.png 对于一开始学习Python的同学来说,强烈给大家安利Python中的turtle库! 原因有三:直观 有趣 易上手 通过Python的turtle库,你可以很容易的使用循环,判断以及自定义函数等基础的编程知识绘制图案。 在我们之前的文章中有一些教程,你可以在这里看: 1.Python教程|小小turtle绘图教学(一) 2.Python教程|万圣节快乐!30行代码带你画一只蝙蝠! 3.中秋佳节!小乐教你用Python画月饼! 在上一篇的教学中,我们学习了如何绘制多边形和圆,今天我们来做一点儿酷炫的! 旋转的正方形 还记得画正方形的代码吗? 我们来复习一下!
import turtlet = turtle.Pen()for i in range(4):    t.forward(100)    t.right(90)
import turtle的作用是导入turtle库供我们使用,在turtle库中有很多的命令帮助来画图。 使用t = turtle.Pen()来新建一只画笔,取名字叫t。 使用for循环来重复以下动作四次:
  • 前进 100
  • 右转 90度
这样我们就创作出了一个正方形! 6f8bf1f1afa4eb4aa7bcf90550e5d7e2.png 接下来让我们做一个小小的实验!把重复次数改成100?
import turtlet = turtle.Pen()for i in range(100):    t.forward(100)    t.right(90)
猜猜会发生什么?恭喜你!你收获了一个疯狂的正方形! 950d24db1575165d192e6db79ac8813b.gif 如果再改动一下呢? 我们把 t.right(90)改成t.right(90 + 1) 来试一试!
import turtlet = turtle.Pen()for i in range(100):    t.forward(100)    t.right(90 + 1)
2f62437b4068cf022e46c4201dcdbfa9.gif 正方形旋转起来了!这是为什么呢? 想象一下: t.right(90+1)让箭头每次的转向多1度,慢慢的每个正方形都会向右偏移一度,就造成了这样的效果。 你可以试试改变t.right()中的角度,看看会有什么效果? 绘制螺旋? 我们还可以做一些什么改动? 让我们看看如何在循环上能够做一些什么手脚? 首先试一试这样的代码:
import turtlet = turtle.Pen()t.speed(1)t.forward(0)t.right(90)t.forward(5)t.right(90)t.forward(10)t.right(90)t.forward(15)t.right(90)t.forward(20)t.right(90)t.forward(25)t.right(90)t.forward(30)t.right(90)t.forward(35)t.right(90)t.forward(40)t.right(90)t.forward(45)t.right(90)
哇!看起来好长! 那么实际是什么效果呢? 116cd5df349d397b070c4ef95e11bbd6.gif 出现了一个正方形的螺旋! 这是为什么呢?我们每次都让画笔t向前移动的距离增大了5,最终会得到一个不断扩大的正方形。 那么问题来了! 这样写代码太麻烦,想要画出来好看的代码也要很多行,那么有什么办法能够帮助我们呢? 试试这样的代码!
import turtlet = turtle.Pen()t.speed(0)for i in range(100):    t.forward(5 * i)    t.right(90)
ce02760253798c2054395e18e2621a41.gif 看到了吗! 很轻松的就画出来了一个正方形螺旋,这多亏了我们的for循环! for循环可以让内部的代码不断的重复,同时for i in range(100)中的i会从0开始逐渐增大! 比如: for  i in range(100)   中i的值会从0开始,每次循环增加1,最终为99 for i in range(50)      中i的值会从0开始,每次循环增加1,最终为49 现在我们有了两个新的技能:
  1. 更改旋转的角度
  2. 更改循环中每次移动的距离
你可以试一试改变数字,尝试画出来一些不一样的图形! 多彩螺旋? 到了创作时刻啦! 黑白的图案总是不好看的,因此我们需要一些彩色! 你可以使用 t.color('green') 来设置颜色!
import turtlet = turtle.Pen()t.speed(0) #用于改变画笔的速度t.color('green')for i in range(100):    t.forward(5 * i)    t.right(90)
1dfa4d9c7c39a80647cf5e8997bf81f3.gif 也可以使用 t.color(220,120,180) 来设定颜色!
import turtlet = turtle.Pen()t.speed(0)turtle.colormode(255)t.color(220,120,180)for i in range(100):    t.forward(5 * i)    t.right(90)
9f85e55ee9f651eb8cc40c62e5c5309b.gif 我们来着重介绍一下第二种方法! 相比第一种提供颜色的方法来说,第二种提供的是 光学三基色:红 绿 蓝 光学三基色被广泛的运用在我们的生活中,举个最简单的例子:各种屏幕上就会使用这三种颜色得到想要显示的各种颜色。 92b0832379aae1c2f75ac26d6872836c.png 光学三基色我们可以按照他们的顺序来起个英文名字:RGB,分别代表了红色,绿色和蓝色。通过不同强度的光照就可以组合成我们想要的颜色啦! 你可以使用t.color(红色强度,绿色强度,蓝色强度)来指定自己想要实现的颜色,不过记住: 每种颜色的数值都只有 0 - 255 个级别,如果你代码中超过了255这个数字,程序会报错哦!这里有一些案例哦,你也可以试试!
import turtlet = turtle.Pen()t.speed(0)turtle.colormode(255) # 切换使用RGB色彩颜色t.color(220,120,180)for i in range(100):    t.forward(5 * i)    t.right(120)    t.forward(2 * i)    t.left(30)

671ace455cb05d70b183258df8786152.gif

(粉色的忍者镖?)

import turtlet = turtle.Pen()t.speed(0)turtle.colormode(255)t.color(90,120,180)for i in range(100):    t.forward(i)    t.left(30)    t.forward(i)    t.left(20)    t.forward(i)    t.right(75)

4c2697b01072e77a474cedde8a3674f0.gif

(蓝色的蜗牛壳?)

你也来一起试着画一些漂亮的图形吧! da8126926f2cbd5725f0f2710fd512d7.png
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值