boris-vlasenko

Количество точек в области

Oct 8th, 2022
807
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.94 KB | None | 0 0
  1. from turtle import *
  2.  
  3. speed(10)
  4.  
  5.  
  6. scale = 30
  7. dot() # начало координат
  8.  
  9. fd(100)
  10. rt(90)
  11. fd(100)
  12. rt(30)
  13. color('','orange')  # color('','orange') если не брать границы
  14. begin_fill()
  15. pd()
  16. for i in range(4):
  17.     fd(25*scale)
  18.     rt(90)
  19. end_fill()
  20. pu()
  21. ht()
  22.  
  23.  
  24. canv = getcanvas()
  25.  
  26. x1,y1,x2,y2 = -40*scale,-20*scale,20*scale,30*scale
  27.  
  28.        
  29. canv.update()
  30.  
  31. k = 0
  32. for x in range(x1, x2, scale):
  33.     for y in range(y1, y2, scale):
  34.         item = canv.find_overlapping(x, y, x, y)
  35.         if item:
  36.             color = canv.itemcget(item,'fill')
  37.             if color == 'orange':
  38.                 k += 1
  39.                 print(x,y,canv.find_overlapping(x, y, x, y), k)
  40.                 canv.create_oval(x-2,y-2,x+2,y+2, fill='green', outline='green')
  41.                 canv.create_text(x,y,text=k)
  42.                 canv.update()
  43.  
  44.  
  45. for x in range(x1, x2, scale):
  46.     canv.create_line(x,y1,x,y2)
  47.    
  48. for y in range(y1, y2, scale):
  49.     canv.create_line(x1,y,x2,y)
  50.            
  51. canv.update()
  52.        
  53. print(k)
  54.  
  55.  
  56. done()
  57.  
Advertisement
Add Comment
Please, Sign In to add comment