কম্পিউটার

কাস্টম ক্রমে স্ট্রিং সাজানোর জন্য পাইথন প্রোগ্রাম


ধরুন আমাদের একটি আলফানিউমেরিক স্ট্রিং আছে। আমাদের নিম্নলিখিত শর্তের উপর ভিত্তি করে এটি সাজাতে হবে

  • সমস্ত সাজানো ছোট হাতের অক্ষরগুলি বড় হাতের অক্ষরের আগে স্থাপন করা হবে৷

  • সমস্ত সাজানো বড় হাতের অক্ষরগুলি অঙ্কের আগে স্থাপন করা হবে৷

  • সাজানো জোড় সংখ্যার আগে সমস্ত সাজানো বিজোড় সংখ্যা স্থাপন করা হবে।

সুতরাং, যদি ইনপুটটি s ="HeLlo1234" এর মত হয়, তাহলে আউটপুট হবে eloHL1324

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

  • একটি ফাংশন সংজ্ঞায়িত করুন f()। এটি c
  • লাগবে
  • কোড :=0
  • যদি c বড় হাতের হয়, তাহলে
    • কোড :=10^3
  • অন্যথায় যখন c একটি অঙ্ক হয়, তখন
    • কোড :=10^6
  • যদি c-এর ASCII জোড় হয়, তাহলে
    • কোড :=10^9
  • রিটার্ন কোড + c এর ASCII
  • প্রধান পদ্ধতি থেকে নিম্নলিখিতগুলি করুন
  • l :=s এর বাছাই করা তালিকা এবং f() ফাংশন কল করে প্রতিটি অক্ষর c s এ ক্রম করুন
  • প্রতিটি অক্ষর l এ যোগ দিন এবং ফিরে আসুন

উদাহরণ

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

def f(c):
   code = 0
   if c.isupper():
      code = 10 ** 3
   elif c.isdigit():
      code = 10 ** 6
      if ord(c) % 2 == 0:
         code = 10 ** 9
   return code + ord(c)

def solve(s):
   l = sorted(s, key=lambda c: f(c))
   return ''.join(l)

s = "HeLlo1234"
print(solve(s))

ইনপুট

"HeLlo1234"

আউটপুট

eloHL1324

  1. হিপ সাজানোর জন্য পাইথন প্রোগ্রাম

  2. ককটেল সাজানোর জন্য পাইথন প্রোগ্রাম

  3. পাইথন প্রোগ্রামে নির্বাচন সাজান

  4. নির্বাচন সাজানোর জন্য পাইথন প্রোগ্রাম