informaticage

Esercizio 1 punti 2d

Feb 10th, 2021 (edited)
203
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.23 KB | None | 0 0
  1. class Punto2D:
  2.   x = 0
  3.   y = 0
  4.  
  5.   def __repr__(self):
  6.     return f'({self.x}, {self.y})'
  7.  
  8. # True se p1 e p2 sono nello stesso quadrante
  9. # False altrimenti
  10. def isPunti2(p1, p2):
  11.   if(p1.x > 0 and p2.x > 0 and p1.y > 0 and p2.y > 0):
  12.     return True
  13.   if(p1.x < 0 and p2.x < 0 and p1.y < 0 and p2.y < 0):
  14.     return True
  15.   if(p1.x < 0 and p2.x < 0 and p1.y > 0 and p2.y > 0):
  16.     return True
  17.   if(p1.x > 0 and p2.x > 0 and p1.y < 0 and p2.y < 0):
  18.     return True
  19.   return False
  20.  
  21. # p punto
  22. # aP lista punti
  23. # True se esiste almeno 1 punto in aP che รจ nello stesso quadrante di p
  24. def isPuntiInQ(p, aP):
  25.   for punto in aP:
  26.     if(isPunti2(p, punto)):
  27.       # vero se sono nello stesso quadrante
  28.       return True
  29.  
  30.   return False
  31.  
  32. primo_punto = Punto2D()
  33. primo_punto.x = int(input("x: "))
  34. primo_punto.y = int(input("y: "))
  35.  
  36. numero_altri_punti = int(input("N punti: "))
  37. altri_punti = []
  38.  
  39. for t in range(numero_altri_punti):
  40.   punto_corrente = Punto2D()
  41.   punto_corrente.x = int(input("x: "))
  42.   punto_corrente.y = int(input("y: "))
  43.  
  44.   altri_punti.append(punto_corrente)
  45.  
  46.  
  47. print(primo_punto)
  48. print(altri_punti)
  49.  
  50. print('Esite almeno un punto nello stesso quadrante? ')
  51. print(isPuntiInQ(primo_punto, altri_punti))
Add Comment
Please, Sign In to add comment