4种多彩颜色图案欣赏pythonturtle轻松搞定
△ 要点:
1 熟悉python的相关知识,锻炼自己的编程思维。
2 熟悉turtle的相关知识。
3 视觉享受。
△ 例子一:
1 静态图:
2 动态图:
3 代码:import turtle as t # 背景颜色 t.bgcolor("black") # 颜色列表 c = ["red","blue", "green", "purple", "yellow","white"] s = len(c) # 自定义:6,初始边长的长度 while True: for i in range(0, 6): t.pencolor(c[i]) # 画笔颜色 t.forward(s) # 向前步长 t.left(30) # 转角30° s += 1 # 当边长达到100时,停止 if s==100: t.done() # 绘画停止 t.ht() # 隐藏画笔 t.mainloop()
△ 例子二:
1 静态图:
2 动态图:
3 代码:import turtle import random turtle.bgcolor("black") turtle.colormode(255) # 可以兼顾数组颜色列表rgb t = turtle.Pen() t.pensize(5) for i in range(10): t.pencolor(random.randint(0,255),random.randint(0,255),random.randint(0,255)) t.circle(50) # 小圆,半径50 t.left(360/10) for i in range(20): t.pencolor(random.randint(0,255),random.randint(0,255),random.randint(0,255)) t.circle(100) # 大圆,半径100 t.left(360/20) turtle.mainloop()
△ 例子三:
1 静态图:
2 动态图:
3 代码:import turtle import random turtle.colormode(255) # 随机颜色,一般需要设置颜色模式为255 turtle.bgcolor("black") zhizhu=turtle.Turtle() zhizhu.speed(10) zhizhu.pensize(6) for i in range(100): zhizhu.color(random.randint(0,255),random.randint(0,255),random.randint(0,255)) zhizhu.forward(150) zhizhu.right(30) zhizhu.forward(50) zhizhu.left(60) zhizhu.forward(70) zhizhu.penup() zhizhu.setposition(0,0) zhizhu.pendown() zhizhu.right(2) turtle.done() turtle.mainloop()
△ 例子四:
1 静态图:
2 动态图:
3 代码:# 三角形画圆法 import turtle import random turtle.colormode(255) turtle.bgcolor("black") sjxcircle= turtle.Turtle() sjxcircle.pensize(5) for i in range(50): sjxcircle.pencolor(random.randint(0,255),random.randint(0,255),random.randint(0,255)) sjxcircle.forward(300) sjxcircle.left(123) turtle.done() turtle.ht() turtle.mainloop()
△ 小结:
1 turtle的颜色设置,一般直接写英文即可,比如pencolor("red")画笔为红色。
2 看代码里面的注释:import turtle as t # 背景颜色 t.bgcolor("black") # 声明一下,下面的颜色可采用序列数组(0,0,255) t.colormode(255) s = 6 while True: for i in range(0, 6): #t.pencolor("blue") # 画笔颜色:蓝色,不需要提前声明 # 这种RGB多用于多彩颜色的随机生成时 t.pencolor((0,0,255)) # 必须首先声明colormode(255),否则报错,不识别。 t.forward(s) # 向前步长 t.left(30) # 转角30° s += 1 # 当边长达到100时,停止 if s==100: t.done() # 绘画停止 t.ht() # 隐藏画笔 t.mainloop()