实验六
1 from turtle import * 2 3 # 绘制正方形 4 # 参数size指定边长,rgb指定画笔颜色 5 # 如果没有给参数,采用默认值 6 def square(size=50, rgb = 'blue'): 7 pencolor(rgb) 8 for i in range(4): 9 fd(size) 10 left(90) 11 12 def main(): 13 setup(800, 600) 14 speed(0) 15 16 for i in range(10): 17 square(80) 18 left(36) 19 20 hideturtle() 21 done() 22 23 24 if __name__ == '__main__': 25 main()

1 from turtle import * 2 3 setup(800, 600) 4 pencolor('green') 5 6 for i in range(10): 7 # 绘制一片花瓣 8 for i in range(2): 9 circle(80, 90) 10 left(90) 11 12 right(36) 13 14 hideturtle() 15 done()

1 from turtle import * 2 3 speed(0) 4 setup(800, 600) 5 bgcolor('black') 6 pencolor('white') 7 8 angle = 0 9 size = 2 10 11 for i in range(8): 12 for j in range(5): 13 fd(size) 14 angle += 72 15 seth(angle) 16 size += 5 17 18 hideturtle() 19 done()

1 from turtle import * 2 from random import * 3 4 def moveto(x, y): 5 penup() 6 goto(x, y) 7 pendown() 8 9 def square(x, y, z = [0, 0, 0]): 10 seth(-90) 11 color(z) 12 begin_fill() 13 for i in range(2): 14 for ii in range(1): 15 left(90) 16 fd(x) 17 left(90) 18 fd(y) 19 end_fill() 20 21 22 setup(800, 600) 23 list1 = [[random() for ii in range(3)] for i in range(20)] 24 25 x = -200 26 for i in range(20): 27 moveto(x, 0) 28 square(20, 60, list1[i]) 29 x += 20 30 31 hideturtle() 32 done()

实验总结: 在本次实验中,我发现使用定义函数处理需要重复处理的部分可以大大减少代码的冗余性,提高了编程效率,通过简单的绘画步骤,结合合适的函数可以画出许多复杂而精美的组合型图形,这恰恰也印证了Python的组装灵活性,大大丰富了Python处理任务的类型。通过本次实验,我学会了使用Turtle库创作一些简单而有规律的几何图形,以及Turtle库和Random库的组合使用,学会了定义函数的创造以及适用,并练习了多维列表解析,加深了我的综合编程能力。

浙公网安备 33010602011771号