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

পাইথনে ডোমেন এবং রেঞ্জ ফাংশন তৈরি করছে কিনা চেক করার প্রোগ্রাম

ধরুন আমাদের একটি ডেটা লিস্ট আছে x, যা একটি ডোমেন রিপ্রেজেন্ট করে এবং আরেকটি লিস্ট y (যার সাইজ x-এর সাইজের সমান) যা একটি রেঞ্জ রিপ্রেজেন্ট করে। আমাদের চেক করতে হবে x -> y একটি ফাংশন কিনা। এখানে আমরা x এবং y-এর সব এলিমেন্ট পজিটিভ ধরে নিচ্ছি।

উদাহরণস্বরূপ, যদি ইনপুট x = [1,3,2,6,5] এবং y = [1,9,4,36,25] হয়, তবে আউটপুট হবে True, কারণ প্রতিটি x-এর জন্য সংশ্লিষ্ট y এর স্কোয়ার ভ্যালু, তাই এটি একটি ফাংশন।

সমাধানের ধাপসমূহ

এখানে আমরা একটি সিম্পল সেট অফ স্টেপ বিবেচনা করছি। এই সমস্যাটি আরও জটিলভাবে ও সমাধান করা যায়।

  • mp := একটি নতুন ম্যাপ
  • for i in range 0 to size of x:
    • a := x[i], b := y[i]
    • যদি a mp-এ না থাকে, তবে mp[a] := b
    • অন্যথায় False রিটার্ন করুন
  • True রিটার্ন করুন

উদাহরণ

নিচের ইমপ্লিমেন্টেশনটি দেখুন ভালো বুঝার জন্য:

def solve(x, y):
    mp = {}
    for i in range(len(x)):
        a = x[i]
        b = y[i]
        if a not in mp:
            mp[a] = b
        else:
            return False
    return True

x = [1,3,2,6,5]
y = [1,9,4,36,25]
print(solve(x, y))

ইনপুট

[1,3,2,6,5], [1,9,4,36,25]

আউটপুট

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

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

  3. পাইথনে দুটি বাইনারি ট্রির লিফ সিকোয়েন্স মিল কিনা যাচাই

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