mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 02:15:10 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			65 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			65 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| """      turtle-example-suite:
 | |
| 
 | |
|           tdemo_wikipedia3.py
 | |
| 
 | |
| This example is
 | |
| inspired by the Wikipedia article on turtle
 | |
| graphics. (See example wikipedia1 for URLs)
 | |
| 
 | |
| First we create (ne-1) (i.e. 35 in this
 | |
| example) copies of our first turtle p.
 | |
| Then we let them perform their steps in
 | |
| parallel.
 | |
| 
 | |
| Followed by a complete undo().
 | |
| """
 | |
| from turtle import Screen, Turtle, mainloop
 | |
| from time import clock, sleep
 | |
| 
 | |
| def mn_eck(p, ne,sz):
 | |
|     turtlelist = [p]
 | |
|     #create ne-1 additional turtles
 | |
|     for i in range(1,ne):
 | |
|         q = p.clone()
 | |
|         q.rt(360.0/ne)
 | |
|         turtlelist.append(q)
 | |
|         p = q
 | |
|     for i in range(ne):
 | |
|         c = abs(ne/2.0-i)/(ne*.7)
 | |
|         # let those ne turtles make a step
 | |
|         # in parallel:
 | |
|         for t in turtlelist:
 | |
|             t.rt(360./ne)
 | |
|             t.pencolor(1-c,0,c)
 | |
|             t.fd(sz)
 | |
| 
 | |
| def main():
 | |
|     s = Screen()
 | |
|     s.bgcolor("black")
 | |
|     p=Turtle()
 | |
|     p.speed(0)
 | |
|     p.hideturtle()
 | |
|     p.pencolor("red")
 | |
|     p.pensize(3)
 | |
| 
 | |
|     s.tracer(36,0)
 | |
| 
 | |
|     at = clock()
 | |
|     mn_eck(p, 36, 19)
 | |
|     et = clock()
 | |
|     z1 = et-at
 | |
| 
 | |
|     sleep(1)
 | |
| 
 | |
|     at = clock()
 | |
|     while any([t.undobufferentries() for t in s.turtles()]):
 | |
|         for t in s.turtles():
 | |
|             t.undo()
 | |
|     et = clock()
 | |
|     return "runtime: %.3f sec" % (z1+et-at)
 | |
| 
 | |
| 
 | |
| if __name__ == '__main__':
 | |
|     msg = main()
 | |
|     print(msg)
 | |
|     mainloop()
 | 
