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

一、实验结论:

1.实验任务1:task1_1.py

程序源码:

 1 from turtle import *
 2 
 3 def move(x, y):
 4     '''画笔移动到坐标(x,y)处'''
 5     penup()
 6     goto(x, y)
 7     pendown()
 8 
 9 def draw(n, size = 100):
10     '''绘制边长为size的正n变形'''
11     for i in range(n):
12         fd(size)
13         left(360/n)
14 
15 def main():
16     pensize(2)
17     pencolor('red')
18 
19     move(-200, 0)
20     draw(3)
21 
22     move(0, 0)
23     draw(4)
24 
25     move(200, 0)
26     draw(5)
27 
28     hideturtle()
29     done()
30 
31 main()

运行结果截图:

 task1_2.py

程序源码:

 1 from turtle import *
 2 
 3 def moveto(x, y):
 4     '''把画笔移动至坐标(x, y)处'''
 5     penup()
 6     goto(x, y)
 7     pendown()
 8 
 9 def main():
10     pensize(2)
11     pencolor('blue')
12 
13     moveto(-150, 0)
14     circle(50)
15 
16     moveto(0, 0)
17     circle(50, steps = 4)
18 
19     moveto(150, 0)
20     circle(50, steps = 5)
21 
22     moveto(300, 0)
23     circle(50, steps = 6)
24 
25     hideturtle()
26     done()
27 
28 main()

运行结果截图:

 

2.实验任务2:task2_1.py

程序源码:

 1 '''以(0,0)为圆心,绘制9个同心圆'''
 2 
 3 from turtle import *
 4 
 5 def moveto(x, y):
 6     '''把画笔移至坐标(x,y)处'''
 7     penup()
 8     goto(x, y)
 9     pendown()
10 
11 def main():
12     setup(800, 600)
13 
14     radius = 20 # 圆初始半径
15     offset = 20 # 同心圆每次位移量
16 
17     for i in range(9):
18         moveto(0, -radius)
19         circle(radius)
20         radius += offset
21 
22     hideturtle()
23     done()
24 
25 main()

运行结果截图:

task2_2.py 

程序源码:

 1 '''以(0, 0)为圆心,绘制9个彩色同心圆,色彩随机生成'''
 2 
 3 from turtle import *
 4 from random import random
 5 
 6 def moveto(x, y):
 7     '''把画笔移至坐标(x,y)处'''
 8     penup()
 9     goto(x, y)
10     pendown()
11 
12 def gen_color():
13     '''生成一个以rgb三元组表示的颜色值并返回'''
14     return tuple((random() for i in range(3)))
15 
16 def main():
17     setup(800, 600)
18 
19     radius = 180 # 圆初始半径
20     offset = 20 # 同心圆每次位移量
21 
22     for i in range(8):
23         moveto(0, -radius)
24         color(gen_color())
25 
26         begin_fill()
27         circle(radius)
28         end_fill()
29 
30         radius -= offset
31 
32     hideturtle()
33     done()
34 
35 main()

运行结果截图:

 

3.实验任务3:task3_1.py

程序源码:

 1 from turtle import *
 2 
 3 def square(size = 50, rgb = 'pink'):
 4     '''绘制正方形
 5     :para: size:int 指定边长 (如未指定参数,使用默认值)
 6     :para: c: str 指定画笔颜色值 (如未指定参数,使用默认值)
 7     '''
 8 
 9     pencolor(rgb)
10     for i in range(4):
11         fd(size)
12         left(90)
13 
14 def main():
15     setup(800, 600)
16     speed(0)
17     n = 10
18 
19     for i in range(n):
20         square(80,'orange')
21         left(360/n)
22 
23     hideturtle()
24     done()
25 
26 main()

运行结果截图:

task3_2.py

程序源码:

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

运行结果截图:

 

4.实验任务4:task4.py

程序源码:

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

运行结果截图:

 

5.实验任务5:task5_1.py

程序源码:

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

运行结果截图:

task5_2.py

程序源码:

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

运行结果截图:

 

6.实验任务6:选做task6_2.py

程序源码:

 1 from turtle import *
 2 
 3 bgcolor('black')
 4 
 5 color('yellow')
 6 begin_fill()
 7 left(45)
 8 fd(200)
 9 left(90)
10 circle(200,270)
11 left(90)
12 fd(200)
13 right(145)
14 end_fill()
15 
16 penup()
17 goto(-5,100)
18 pendown()
19 
20 color('black')
21 begin_fill()
22 circle(15)
23 end_fill()
24 
25 penup()
26 goto(-7,117)
27 pendown()
28 
29 color('white')
30 begin_fill()
31 circle(5)
32 end_fill()
33 
34 hideturtle()
35 done()

运行结果截图:

 7. 实验任务7-8:已自行练习

 

二、实验总结:

1. 练习turtle绘图常用方法
2. 能使用turtle库熟练编程绘制简单图形
3. 会使用pip命令安装python第三方库
4. 体验使用matplotlib库中的pyplot模块绘制简单图形
5. 体验使用jieba库中的函数实现中文分词,组合词云库wordcloud、绘图库matplotlib绘制词云图
 
 
 
posted @ 2023-06-06 20:20  myf-  阅读(109)  评论(0)    收藏  举报