কম্পিউটার

পাইথনে দুটি মুদ্রার রূপান্তর হার খুঁজে বের করার জন্য প্রোগ্রাম


ধরুন আমাদের তিনটি অ্যারে দেওয়া হয়েছে; curr_a, curr_b, এবং conv_rate। প্রথম অ্যারেতে কিছু মুদ্রার নাম রয়েছে এবং দ্বিতীয়টিতেও রয়েছে এবং অ্যারে conv_rate একটি আইটেম curr_a[i] থেকে cuur_b[i] এর মধ্যে রূপান্তরের হার ধারণ করে। conv_rate[i] এর আইটেম হল curr_a[i] এবং curr_b[i] এর মধ্যে রূপান্তর হার। এখন, আমাদের src এবং dest দুটি মুদ্রা দেওয়া হয়েছে। আমাদের src থেকে গন্তব্যে রূপান্তরের হার খুঁজে বের করতে হবে। আমরা আউটপুট হিসাবে মান ফেরত দিই, এবং এটি সম্ভব না হলে আমরা 0 ফেরত দিই।

সুতরাং, যদি ইনপুট হয় src ="INR", dest ="JPY", curr_a =["INR", "GBP", "EUR"], curr_b =["GBP", "EUR", "JPY"] , conv_rate =[0.009, 1.17, 129.67], তাহলে আউটপুট হবে 1.3654250999999997

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

  • temp :=একটি নতুন মানচিত্র যাতে ডিফল্ট মান হিসেবে 0 থাকে
  • temp[src] :=1
  • i :=0
  • p :=সত্য
  • যখন p এবং i <=তাপমাত্রার আকার, do
    • p :=মিথ্যা
    • curr_a-এ প্রতিটি x, curr_b-এ y এবং conv_rate-এ z-এর জন্য করুন
      • যদি temp[x] * z> temp[y] অ-শূন্য হয়, তাহলে
        • temp[y] :=temp[x] * z
        • p :=সত্য
      • i :=i + 1
  • যদি i <=তাপমাত্রার আকার, তাহলে
    • রিটার্ন টেম্প[ডেস্ট]
  • অন্যথায়,
    • রিটার্ন -1

উদাহরণ

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

from collections import defaultdict

def solve(src, dest, curr_a, curr_b, conv_rate):
   temp = defaultdict(int)
   temp[src] = 1
   i = 0
   p = True
   while p and i <= len(temp):
      p = False
      for x, y, z in zip(curr_a, curr_b, conv_rate):
         if temp[x] * z > temp[y]:
            temp[y] = temp[x] * z
            p = True
      i += 1
   return temp[dest] if i <= len(temp) else -1

print(solve("INR", "JPY", ["INR", "GBP", "EUR"], ["GBP", "EUR", "JPY"], [0.009, 1.17, 129.67]))

ইনপুট

"INR", "JPY", ["INR", "GBP", "EUR"], ["GBP", "EUR", "JPY"], [0.009,
1.17, 129.67]

আউটপুট

1.3654251

  1. পাইথনের প্রত্যেকের দ্বারা গ্রাফটি অতিক্রম করা যায় কিনা তা খুঁজে বের করার প্রোগ্রাম

  2. পাইথনে ন্যূনতম সাবমেট্রিক্স খুঁজে বের করার জন্য প্রোগ্রাম

  3. পাইথনে অধ্যয়নের কার্যকর উপায় খুঁজে বের করার প্রোগ্রাম

  4. পাইথন প্রোগ্রাম a no দুইটির শক্তি কিনা তা খুঁজে বের করতে