六色六边形
先用turtle库绘制六色的六边形
import turtle as t
t.setup(width=0.75, height=0.75, startx=None, starty=None)
color=['black','red','yellow','blue','green','purple']
t.speed(10)
t.pensize(7)
t.pendown()
a=0
for i in range(350):
a=i
while a>6:
a-=6
t.pencolor(color[a-1])
t.forward(i)
t.right(60)
t.delay(600)
运行结果如下:
如果觉得颜色过少,我们可以通过增加列表color的颜色来丰富六边形的色彩。
但是,每增加一种颜色,我们就要手动输入一种颜色,这样太麻烦了。
那么,有没有办法能随机选择颜色呢?
我们可以借助random库产生随机颜色
随机彩色六边形
randint(a,b)函数可产生从a到b之间的随机整数
如下,a为0到100间的随机整数
import random as r
a=r.randint(0,100)
在RGB整数色值中,颜色由红色、绿色、蓝色混合而成。将颜色由一个十六进制符号来定义。每种颜色的最小值是 0,最大值是 255。
也就是说,我们可以用从0到255之间的三个随机整数来产生随机颜色。
如下,a,b,c即为0到255之间的随机整数
import random as r
a=random.randint(0,255)
b=random.randint(0,255)
c=random.randint(0,255)
再在原六边形代码的基础上稍加修改
如下为随机彩色多边形
import turtle as t
import random as r
t.setup(width=0.75, height=0.75, startx=None, starty=None)
a=0
b=0
c=0
t.speed(10)
t.pensize(6)
t.pendown()
t.colormode(255)
for i in range(350):
a=r.randint(0,255)
b=r.randint(0,255)
c=r.randint(0,255)
t.forward(i)
t.pencolor(a,b,c)
t.right(60)
t.delay(600)
下图为运行结果
同理,如果修改画笔每次旋转的角度,可绘制出随机彩色n边形
随机彩色三角形
import turtle as t
import random as r
t.setup(width=0.75, height=0.75, startx=None, starty=None)
a=0
b=0
c=0
t.penup()s
t.speed(10)
t.pensize(3)
t.sety(50)
t.pendown()
t.colormode(255)
for i in range(200):
a=r.randint(0,255)
b=r.randint(0,255)
c=r.randint(0,255)
t.forward(3*i)
t.pencolor(a,b,c)
t.right(120)
t.delay(600)
随机彩色n边形
import turtle as t
import random as r
t.setup(width=0.75, height=0.75, startx=None, starty=None)
a=0
b=0
c=0
d=int(input('画笔粗细为?'))
e=int(input('绘制几边形?'))
t.speed(10)
t.pensize(d)
t.pendown()
t.colormode(255)
for i in range(350):
a=r.randint(0,255)
b=r.randint(0,255)
c=r.randint(0,255)
t.forward(i)
t.pencolor(a,b,c)
t.right(360/e)
t.delay(600)
(画笔粗细及边数可自由选择)