কম্পিউটার টিউটোরিয়াল

পাইথনে পয়েন্টের তালিকা স্ট্রেট লাইন বানায় কিনা চেক করার প্রোগ্রাম


মান লক্ষ্য করুন আমাদের কাছে কারtezियन প্লेনে কিছু কোয়ার্ডিনেটের তালিকা আছে। আমাদের কাজ হল চেক করা যে কোয়ার্ডিনেটগুলো একটি স্ট্রেট লাইন সেগমেন্ট বানায় কিনা।

উদাহরণস্বরূপ, যদি ইনপুট হয় coordinates = [(5, 5),(8, 8),(9, 9)], তবে আউটপুট হবে True, কারণ এই পয়েন্টগুলো ঢাল ১ সহ একটি লাইন সেগমেন্ট বানাচ্ছে।

সমাধানের ধাপসমূহ:
  • (x0, y0) := coordinates[0]
  • (x1, y1) := coordinates[1]
  • i কে ২ থেকে len(coordinates)-1 পর্যন্ত লুপ চালান:
    • (x, y) := coordinates[i]
    • যদি (x0 - x1) * (y1 - y) != (x1 - x) * (y0 - y1) হয়, তবে False রিটার্ন করুন।
  • True রিটার্ন করুন।
উদাহরণ কোড
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))
ইনপুট
[[5, 5],[8, 8],[9, 9]]
আউটপুট
True
  1. পাইথন প্রোগ্রাম - পয়েন্টগুলোর কনকেভ পলিগন গঠন করে কিনা তা যাচাই করুন

  2. পাইথন প্রোগ্রাম - পয়েন্টগুলোর কনভেক্স হাল গঠন করে কিনা তা যাচাই করুন

  3. পাইথনে ব্লকের তালিকা y=x রেখা দিয়ে সিমেট্রিক কিনা যাচাই করার প্রোগ্রাম

  4. পাইথনে গ্রাফ বাইপার্টাইট কিনা যাচাই করার প্রোগ্রাম