Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

पायथन में शब्दों के बीच रिक्त स्थान को पुनर्व्यवस्थित करने का कार्यक्रम

मान लीजिए कि हमारे पास कुछ शब्दों के साथ एक स्ट्रिंग है जो कुछ रिक्त स्थान के बीच रखी गई है। प्रत्येक शब्द कम से कम एक स्थान से अलग होते हैं। हमें रिक्त स्थान को पुनर्व्यवस्थित करना होगा ताकि आसन्न शब्दों के प्रत्येक जोड़े के बीच समान संख्या में रिक्त स्थान हों और प्रत्येक शब्द के बीच रिक्त स्थान की संख्या अधिकतम हो। यदि हम सभी रिक्त स्थान को समान रूप से पुनर्वितरित करने में असमर्थ हैं, तो हम अतिरिक्त रिक्त स्थान को अंत में रख सकते हैं।

इसलिए, यदि इनपुट एस ="आई लव प्रोग्रामिंग" जैसा है, तो आउटपुट "आई लव प्रोग्रामिंग" होगा, देखें कि रिक्त स्थान वितरित किए गए हैं, शब्दों के बीच, पांच रिक्त स्थान हैं।

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

  • रेस :=खाली स्ट्रिंग

  • Total_sp :=s में रिक्तियों की संख्या

  • suff_sp_cnt :=Total_sp

  • text_array :=शब्दों की सूची

  • num_words :=text_array का आकार

  • अगर num_words 1 के समान है, तो

    • res :=text_array[0] कुल_एसपी रिक्तियों की संख्या के साथ संयोजित करें

    • रिटर्न रेस

  • sep_size :=Total_sp का भागफल /(num_words - 1)

  • सितम्बर :=sep_size रिक्तियों की संख्या

  • टेक्स्ट_एरे -1 में प्रत्येक i के लिए, करें

    • रेस :=रेस + आई

    • रेस :=रेस + सितंबर

    • suff_sp_cnt :=suff_sp_cnt - sep_size

  • suff_sp_cnt :=suff_sp_cnt + sep_size

  • res :=बाएँ और दाएँ से अतिरिक्त स्थान हटाएँ

  • res :=अंत में 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. एक स्ट्रिंग में समान लंबाई के शब्दों को प्रिंट करने के लिए पायथन प्रोग्राम

    इस लेख में, हम दिए गए समस्या कथन को हल करने के लिए समाधान और दृष्टिकोण के बारे में जानेंगे। समस्या कथन एक स्ट्रिंग को देखते हुए हमें स्ट्रिंग के सभी शब्दों को सम लंबाई के साथ प्रदर्शित करने की आवश्यकता है। दृष्टिकोण स्प्लिट () फ़ंक्शन का उपयोग करके इनपुट स्ट्रिंग को विभाजित करें। के लिए . का

  1. किसी दिए गए स्ट्रिंग में शब्दों की गणना करने के लिए पायथन प्रोग्राम?

    मान लीजिए कि हमारे पास एक स्ट्रिंग और शब्द है और हमें अजगर का उपयोग करके इस शब्द की घटना की संख्या को हमारे स्ट्रिंग में खोजने की आवश्यकता है। इस खंड में हम यही करने जा रहे हैं, किसी दिए गए स्ट्रिंग में शब्द की संख्या गिनें और उसे प्रिंट करें। किसी दिए गए स्ट्रिंग में शब्दों की संख्या गिनें विधि 1

  1. बड़े अक्षरों से शुरू होने वाले शब्दों के बीच रिक्त स्थान डालने के लिए पायथन में रेगेक्स

    जिस समस्या को हम यहां हल करने का प्रयास कर रहे हैं वह CamelCase को शब्दों को अलग करने के लिए परिवर्तित करना है। हम दिए गए स्ट्रिंग में एक बड़े अक्षर की सभी घटनाओं को ढूंढकर रेगेक्स का उपयोग करके इसे सीधे हल कर सकते हैं और इसके सामने एक स्थान रख सकते हैं। हम पुनः मॉड्यूल से उप विधि का उपयोग कर सकते ह