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

पायथन में स्ट्रिंग लिखने के लिए पंक्तियों की संख्या

मान लीजिए हमारे पास एक स्ट्रिंग S है और हमें उस दिए गए स्ट्रिंग के अक्षरों को बाएं से दाएं पंक्तियों में लिखना है। यहाँ प्रत्येक पंक्ति की अधिकतम चौड़ाई 100 इकाई है, और यदि पत्र लिखने से रेखा की चौड़ाई 100 इकाई से अधिक हो जाती है, तो वह अगली पंक्ति पर लिखी जाएगी। हमारे पास एक सरणी चौड़ाई भी है, यहां चौड़ाई [0] 'ए' की चौड़ाई है, चौड़ाई [1] 'बी' की चौड़ाई है और इसी तरह।

हमें दो सवालों के जवाब तलाशने हैं -

  • कितनी पंक्तियों में S से कम से कम एक वर्ण है
  • ऐसी अंतिम पंक्ति द्वारा उपयोग की जाने वाली चौड़ाई क्या है?

हम उत्तर को लंबाई 2 की एक पूर्णांक सूची के रूप में लौटाएंगे।

तो, अगर इनपुट [4,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10 की तरह है, 10,10,10,10,10] और S ="bbbcccdddaaa", तो आउटपुट [2, 4] होगा, क्योंकि 'a' को छोड़कर सभी अक्षरों की लंबाई 10 समान है, और स्ट्रिंग "bbbcccdddaa" कवर करेगी। 9 * 10 + 2 * 4 =98 रिक्त स्थान। अंतिम 'a' के लिए दूसरी पंक्ति पर लिखा जाता है क्योंकि पहली पंक्ति में केवल 2 इकाइयाँ बची होती हैं। तो उत्तर 2 पंक्तियाँ है, साथ ही दूसरी पंक्ति में 4 इकाइयाँ।

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

  • पंक्ति :=1, गिनती :=0
  • एस में प्रत्येक i के लिए, करें
    • गिनती :=गिनती + चौड़ाई[ASCII of i - 97]
    • अगर गिनती> 100, तो
      • लाइन:=लाइन + 1
      • गिनती :=चौड़ाई[ASCII of i - 97]
  • वापसी [लाइन, गिनती]

आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -

उदाहरण

class Solution:
   def numberOfLines(self, widths, S):
      line = 1
      count = 0
      for i in S:
         count += widths[ord(str(i))-97]
      if count > 100:
         line += 1
      count = widths[ord(str(i))-97]
   return [line, count]
ob = Solution()
print(ob.numberOfLines([4,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10], "bbbcccdddaaa"))

इनपुट

[4,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10],"bbbcccdddaaa"

आउटपुट

[2, 4]

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

    यहां उपयोगकर्ता ने एक स्ट्रिंग दी और उपयोगकर्ता ने घटनाओं की संख्या गिनने के लिए शब्द भी दिया। हमारा काम घटनाओं की संख्या गिनना और उसे प्रिंट करना है। उदाहरण programming Output:: 2 एल्गोरिदम wordoccurences(n,p) /* n is input string and p is the word to count occurrence */ Step 1: split the string

  1. पायथन का उपयोग करके टेक्स्ट फ़ाइल में एकाधिक लाइनें कैसे लिखें?

    आप \n से लाइनों को अलग करके कई लाइन लिखने के लिए राइट फंक्शन का उपयोग कर सकते हैं। उदाहरण के लिए line1 = "First line" line2 = "Second line" line3 = "Third line" with open('my_file.txt','w') as out:     out.write('{}\n{}\n{}\n'.format(li

  1. पायथन में लंबी लाइनें कैसे लपेटें?

    लंबी लाइनों को लपेटने का पसंदीदा तरीका पायथन की निहित लाइन निरंतरता का उपयोग कोष्ठक, कोष्ठक और ब्रेसिज़ के अंदर करना है। यदि आवश्यक हो, तो आप व्यंजक के चारों ओर अतिरिक्त कोष्ठक जोड़ सकते हैं, लेकिन कभी-कभी बैकस्लैश का उपयोग करना बेहतर लगता है। निरंतर लाइन को उचित रूप से इंडेंट करना सुनिश्चित करें। ब