实验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()
运行结果截图

 
                    
                
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号