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

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

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

इसलिए, यदि इनपुट है: s = " I love programming ", तो आउटपुट "I love programming " होगा, देखें स्पेस वितरित हैं, शब्दों के बीच पांच स्पेस हैं।

हल करने के चरण

  • res := खाली स्ट्रिंग
  • total_sp := s में स्पेस की संख्या
  • suff_sp_cnt := total_sp
  • text_array := s से शब्दों की सूची
  • num_words := text_array का आकार
  • यदि num_words == 1, तो: res := text_array[0] + total_sp स्पेस, res वापस करें
  • sep_size := total_sp // (num_words - 1) का भागफल
  • sep := sep_size संख्या के स्पेस
  • text_array - 1 में प्रत्येक i के लिए:
    • 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 के अंत में suff_sp_cnt संख्या के स्पेस जोड़ें
  • res वापस करें

उदाहरण (Python)

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. पायथन प्रोग्राम: स्ट्रिंग में इवन लेंथ वाले शब्द प्रिंट करें पायथन प्रोग्राम: स्ट्रिंग में इवन लेंथ वाले शब्द प्रिंट करें

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

  1. - पायथन प्रोग्राम: दिए गए स्ट्रिंग में शब्द गिनें

    स्ट्रिंग में शब्दों की संख्या गिनने के कई तरीके हैं। सरल दृष्टिकोण व्हाइटस्पेस सेपरेटर का उपयोग करता है। विधि 1: फोर लूप (मूल) def count_words_for(text): total = 1 # कम से कम एक शब्द (यदि खाली नहीं) for i in range(len(text)): if text[i] in ( , \n, \t): total += 1 re

  1. - कैपिटल लेटर से शुरू होने वाले शब्दों के बीच स्पेस डालने के लिए पायथन रेगेक्स

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