实验6 turtle绘图与python库应用编程体验

实验任务1

task1_1.py

 1 from turtle import *
 2 def move(x, y):
 3     penup()
 4     goto(x, y)
 5     pendown()
 6 def draw(n, size = 100):
 7 
 8     for i in range(n):
 9         fd(size)
10         left(360/n)
11 def main():
12     pensize(2)
13     pencolor('red')
14     move(-200, 0)
15     draw(3)
16     move(0, 0)
17     draw(4)
18     move(200, 0)
19     draw(5)
20     hideturtle()
21     done()
22 main()

运行结果截图

 task1_2.py

 1 from turtle import *
 2 def moveto(x, y):
 3     penup()
 4     goto(x, y)
 5     pendown()
 6 def main():
 7     pensize(2)
 8     pencolor('blue')
 9     moveto(-150, 0)
10     circle(50)
11     moveto(0, 0)
12     circle(50, steps = 4)
13     moveto(150, 0)
14     circle(50, steps = 5)
15     moveto(300, 0)
16     circle(50, steps = 6)
17     hideturtle()
18     done()
19 main()

运行结果截图

 实验任务2

task2_1.py

 1 from turtle import *
 2 def moveto(x, y):
 3     penup()
 4     goto(x, y)
 5     pendown()
 6 def main():
 7     setup(800, 600)
 8     radius = 20
 9     offset = 20
10     for i in range(9):
11         moveto(0, -radius)
12         circle(radius)
13         radius += offset
14     hideturtle()
15     done()
16 main()

运行结果截图

 task2_2.py

 1 from turtle import *
 2 from random import random
 3 def moveto(x, y):
 4     penup()
 5     goto(x, y)
 6     pendown()
 7 def gen_color():
 8     return tuple((random() for i in range(3)))
 9 def main():
10     setup(800, 600)
11     radius = 180
12     offset = 20
13     for i in range(8):
14         moveto(0, -radius)
15         color(gen_color())
16         begin_fill()
17         circle(radius)
18         end_fill()
19         radius -= offset
20     hideturtle()
21     done()
22 main()

运行结果截图

 实验任务3

task3_1.py

 1 from turtle import *
 2 def square(size = 50, rgb = 'orange'):
 3     pencolor(rgb)
 4     for i in range(4):
 5         fd(size)
 6         left(90)
 7 def main():
 8     setup(800, 600)
 9     speed(0)
10     n = 10
11     for i in range(n):
12         square(80)
13         left(360/n)
14     hideturtle()
15     done()
16 main()

运行结果截图

 task3_2.py

 1 from turtle import *
 2 setup(800, 600)
 3 speed(0)
 4 pencolor('pink')
 5 n = 10
 6 for i in range(10):
 7     for j in range(2):
 8         circle(80, 90)
 9         left(90)
10     right(360/n)
11 hideturtle()
12 done()

运行结果截图

 实验任务4

task4.py

 1 from turtle import *
 2 setup(800, 600)
 3 bgcolor('black')
 4 pencolor('white')
 5 speed(0)
 6 angle = 0
 7 size = 2
 8 n = 5 # 螺旋n边形
 9 count = 50 # 循环次数
10 for i in range(count):
11     fd(size)
12     angle += 360/n
13     seth(angle)
14     size += 5
15 hideturtle()
16 done()

运行结果截图

 实验任务5

task5_1.py

 1 from turtle import *
 2 setup(800, 600)
 3 pencolor('black')
 4 
 5 size = 2
 6 penup()
 7 goto(-100,-100)
 8 pendown()
 9 fillcolor('black')
10 begin_fill()
11 for i in range(4):
12     fd(200)
13     left(90)
14 end_fill()
15 
16 penup()
17 goto(0,-100)
18 left(45)
19 pendown()
20 fillcolor('red')
21 begin_fill()
22 pencolor('red')
23 
24 for i in range(4):
25     fd(100*(2**0.5))
26     left(90)
27 end_fill()
28 
29 hideturtle()
30 done()

运行结果截图

 task5_2.py

 1 from turtle import *
 2 setup(800, 600)
 3 pencolor('blue')
 4 size = 2
 5 x = 40
 6 for i in range(5):
 7     fd(x)
 8     left(90)
 9     circle(x,90)
10     left(90)
11     fd(x)
12     left(90)
13     x += 20
14 
15 hideturtle()
16 done()

运行结果截图

 实验任务6

task6.py

 1 from turtle import *
 2 from random import random
 3 def rect(x, y):
 4     fd(x)
 5     left(90)
 6     fd(y)
 7     left(90)
 8     fd(x)
 9     left(90)
10     fd(y)
11     left(90)
12 
13 
14 def gen_color():
15     return tuple((random() for i in range(3)))
16 def main():
17     setup(800, 600)
18     x = 20
19     y = 40
20     t = 20
21     n = 10
22     for i in range(20):
23         goto(-t*n,-0.5*y)
24         color(gen_color())
25         begin_fill()
26         rect(x,y)
27         end_fill()
28         n -= 1
29     hideturtle()
30     done()
31 main()

运行结果截图

 

posted @ 2023-06-05 17:05  y1cheng  阅读(22)  评论(0)    收藏  举报