কম্পিউটার

পাইথনে শব্দের মধ্যে স্পেস পুনর্বিন্যাস করার জন্য প্রোগ্রাম


ধরুন আমাদের কিছু শব্দ সহ একটি স্ট্রিং s আছে যা কিছু সংখ্যক স্থানের মধ্যে স্থাপন করা হয়েছে। প্রতিটি শব্দ অন্তত একটি স্থান দ্বারা পৃথক করা হয়. আমাদের স্পেসগুলিকে পুনর্বিন্যাস করতে হবে যাতে প্রতি জোড়া সন্নিহিত শব্দের মধ্যে একই সংখ্যক শূন্যস্থান থাকে এবং প্রতিটি শব্দের মধ্যে শূন্যস্থানের সংখ্যা সর্বাধিক হয়। যদি আমরা সমস্ত স্পেস সমানভাবে পুনঃবন্টন করতে না পারি, তাহলে আমরা অতিরিক্ত স্পেসগুলি শেষে রাখতে পারি৷

সুতরাং, যদি ইনপুটটি s ="আমি প্রোগ্রামিং ভালোবাসি" এর মত হয়, তাহলে আউটপুটটি হবে "আমি প্রোগ্রামিং ভালোবাসি", দেখুন স্পেসগুলি বিতরণ করা হয়েছে, শব্দগুলির মধ্যে, পাঁচটি স্পেস রয়েছে৷

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

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

  • total_sp :=s

    এ স্পেস সংখ্যা
  • suff_sp_cnt :=total_sp

  • text_array :=s

    থেকে শব্দের একটি তালিকা
  • num_words :=text_array এর আকার

  • যদি num_words 1 এর মত হয়, তাহলে

    • res :=টেক্সট_অ্যারে[0] মোট_স্পেস সংখ্যার সাথে সংযুক্ত করুন

    • রিটার্ন রিটার্ন

  • sep_size :=মোট_sp এর ভাগফল /(সংখ্যা_শব্দ - 1)

  • sep :=সেপ_সাইজ স্পেস সংখ্যা

  • প্রতিটি i-এর জন্য text_array - 1, do

    • res :=res + i

    • res :=res + sep

    • suff_sp_cnt :=suff_sp_cnt - sep_size

  • suff_sp_cnt :=suff_sp_cnt + sep_size

  • res :=বাম এবং ডান থেকে অতিরিক্ত স্পেস সরান

  • res :=res concatenate suff_sp_cnt শেষে স্পেস সংখ্যা

  • রিটার্ন রিটার্ন

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

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

def solve(s):
   res = ""
   total_sp = s.count(" ")
   suff_sp_cnt = total_sp

   text_array = s.split()
   num_words = len(text_array)

   if num_words == 1:
      res = text_array[0] + total_sp * " "
      return res

   sep_size = total_sp // (num_words - 1)
   sep = sep_size * " "

   for i in text_array:
      res += i
      res += sep
      suff_sp_cnt -= sep_size

   suff_sp_cnt += sep_size
   res = res.strip()
   res += suff_sp_cnt * " "

   return res

s = " I love programming "
print(solve(s))

ইনপুট

" I love programming "

আউটপুট

"I love programming "

  1. পাইথন প্রোগ্রাম একটি স্ট্রিং মধ্যে এমনকি দৈর্ঘ্য শব্দ মুদ্রণ

  2. একটি বাক্যে শব্দ গণনা করার জন্য পাইথন প্রোগ্রাম

  3. পাইথন প্রোগ্রাম একটি প্রদত্ত স্ট্রিং শব্দ গণনা?

  4. বড় অক্ষর দিয়ে শুরু হওয়া শব্দের মধ্যে স্পেস রাখতে পাইথনে রেজেক্স