Computer >> Máy Tính >  >> Lập trình >> Python

Chương trình kiểm tra xem danh sách các điểm có tạo thành một đường thẳng hay không trong Python

Giả sử chúng ta có một danh sách tọa độ trong một mặt phẳng Descartes, chúng ta phải kiểm tra xem tọa độ có tạo thành một đoạn thẳng hay không.

Vì vậy, nếu đầu vào giống như tọa độ =[(5, 5), (8, 8), (9, 9)], thì đầu ra sẽ là True, vì các điểm này đang tạo thành một đoạn thẳng có độ dốc 1.

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • (x0, y0):=toạ độ [0]
  • (x1, y1):=toạ độ [1]
  • đối với tôi trong phạm vi 2 đến kích thước của danh sách tọa độ - 1, thực hiện
    • (x, y):=toạ độ [i]
    • nếu (x0 - x1) * (y1 - y) không giống với (x1 - x) * (y0 - y1), thì
      • trả về Sai
  • trả về True

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

Ví dụ

class Solution:
   def solve(self, coordinates):
      (x0, y0), (x1, y1) = coordinates[0], coordinates[1]
      for i in range(2, len(coordinates)):
         x, y = coordinates[i]
         if (x0 - x1) * (y1 - y) != (x1 - x) * (y0 - y1):
            return False
      return True
ob = Solution()
coordinates = [[5, 5],[8, 8],[9, 9]]
print(ob.solve(coordinates))

Đầu vào

[[5, 5],[8, 8],[9, 9]]

Đầu ra

True