কম্পিউটার

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


ধরুন আমাদের স্ট্রিং হিসাবে একটি ফোন নম্বর আছে। ফোন নম্বর নম্বরে সংখ্যা, স্পেস এবং/অথবা ড্যাশ '-' থাকে। আমরা একটি নির্দিষ্ট পদ্ধতিতে ফোন নম্বর পুনরায় ফর্ম্যাট করতে চাই। কিছু নিয়ম আছে -

  • শুরুতে সমস্ত স্পেস এবং ড্যাশ সরান

  • বাম দিক থেকে ডান দিকের সংখ্যাগুলিকে 3 দৈর্ঘ্যের ব্লকগুলিতে গোষ্ঠীবদ্ধ করুন যতক্ষণ না 4 বা তার কম সংখ্যা বাকি থাকে৷

  • তারপরে চূড়ান্ত সংখ্যাগুলিকে −

    এর মত গোষ্ঠীভুক্ত করা হয়
    • 2 সংখ্যার জন্য:2 দৈর্ঘ্যের একটি একক ব্লক।

    • 3 সংখ্যার জন্য:3 দৈর্ঘ্যের একটি একক ব্লক।

    • 4 সংখ্যার জন্য:দৈর্ঘ্যের আরও দুটি ব্লক প্রতিটি 2।

এই ব্লকগুলি তারপর ড্যাশ দ্বারা ক্লাব করা হয়. আমাদের রিফরম্যাট করা ফোন নম্বর খুঁজতে হবে।

সুতরাং, যদি ইনপুট s ="9-6-84102-4 7-8" এর মত হয়, তাহলে আউটপুট হবে "968-410-24-78"

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

  • সংখ্যা :=একটি ফাঁকা স্ট্রিং

  • blk :=একটি ফাঁকা স্ট্রিং

  • প্রতিটি অক্ষরের জন্য i s, do

    • যদি আমি সাংখ্যিক হয়, তাহলে

      • blk :=blk concatenate i

    • যদি blk এর আকার 3 এর সমান হয়, তাহলে

      • ডিজিট :=ডিজিট কনক্যাটেনেট blk কনক্যাটেনেট ড্যাশ("-")

      • blk :=একটি ফাঁকা স্ট্রিং

  • যদি blk এর আকার 0 এর সমান হয়, তাহলে

    • সূচক 0 থেকে ডিজিট-1-এর আকার পর্যন্ত ডিজিটের সাবস্ট্রিং ফেরত দিন]

  • অন্যথায় যখন blk এর আকার 1 এর মতো হয়, তখন

    • ইনডেক্স 0 থেকে ডিজিট-2 এর আকার পর্যন্ত ডিজিটের সাবস্ট্রিং রিটার্ন করুন] কনক্যাটেনেট ড্যাশ("-") ডিজিটের দ্বিতীয় শেষ ক্যারেক্টার কনক্যাটেনেট blk

  • অন্যথায় যখন blk এর আকার 2 এর সমান হয়, তখন

    • রিটার্ন ডিজিট একত্রিত blk

উদাহরণ (পাইথন)

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

def solve(s):
   digits = ""
   blk = ""
   for i in s:
      if i.isnumeric():
         blk += i
      if len(blk) == 3:
         digits += blk+"-"
         blk = ""

   if len(blk) == 0:
      return digits[:-1]
   elif len(blk) == 1:
      return digits[:-2]+"-"+digits[-2]+blk
   elif len(blk) == 2:
      return digits+blk

s = "9-6-84102-4 7-8"
print(solve(s))

ইনপুট

"9-6-84102-4 7-8"

আউটপুট

968-410-24-78

  1. পাইথনে একটি পরিসরে নোডের সংখ্যা খুঁজে বের করার প্রোগ্রাম

  2. পাইথন প্রোগ্রামে প্রাইম নম্বর খোঁজার বিভিন্ন পদ্ধতি

  3. পাইথনে একটি ফোন নম্বরের অক্ষর সংমিশ্রণ

  4. পাইথন প্রোগ্রাম একটি তালিকায় সবচেয়ে বড় সংখ্যা খুঁজে বের করতে