彩虹
1. 列表(颜色盒子)
1.1 概述
1.2 颜色盒子使用方法
from turtle import*
ylh=('blue','green','red')
for c in range(3):
pencolor(ylh[c%3])
fd(200)
right(120)
2. 坐标移动
现实生活中:
彩虹会出现在什么位置呢?
编程中:我可以设置彩虹的位置哦~
这里会用到坐标:
2.1 setx( )
将当前x轴移动到指定位置,y轴不变(括号内填入坐标数字)
2.2 sety( )
将当前y轴移动到指定位置,x轴不变(括号内填入坐标数字)
3. 绘制彩虹
3.1 彩虹形状
3.2 彩虹线条
仔细观察:彩虹是不是有很多线条?
刚刚我们画出了一条彩虹线,多条彩虹我们需要用到什么知识点呢?
答案是:循环
坐标为setx(300-c*20)
最外层彩虹x的初始位置为300,那里面的每一条彩虹是不是都需要往里面挪呢?假设线条大小设置为20,那我们的每条都要减去20,这样彩虹线就不会碰到一起了哦~
from turtle import *
lt(90)
pensize(20)
for c in range(7):
pu()
setx(300-c*20),
pd()
circle(300-c*20,180)
lt(180)
但是这个时候彩虹是黑色的,下面需要将它上色。
4. 完整代码
from turtle import *
speed(0)
#a=('red','orange','yellow','green','cyan','blue','violet','white')#设置颜料盒
a=('red','orange','yellow','green','cyan','blue','purple','violet')
lt(90)
pensize(20)
for c in range(7):
pu()
setx(300-c*20)
pd()
pencolor(a[c%8]) #根据颜料盒中的记数牌改颜色
circle(300-c*20,180)
lt(180)
done()
5. 颜色跑道
from turtle import * #导入海龟库
speed(0) #设置画笔速度
pensize(10) #彩虹的宽度
a=('red','orange','yellow','green','cyan','blue','violet','white') #制作颜料盒
for c in range(7): #循环
pu() #抬笔
sety(-200+c*20) #设置y坐标
pd() #落笔
pencolor(a[c%8]) #笔的颜色
circle(200-c*20,180) #画半圆
fd(200) #画直线
circle(200-c*20,180) #画半圆
fd(200) #画直线
pu()
goto(0,0)
for i in range(7):
pencolor(a[i%8])
dot(10*(7-i))
pu()
goto(-160,0)
for i in range(7):
pencolor(a[i%8])
dot(10*(7-i))
done()