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

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


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

हमें दो प्रश्नों के उत्तर ढूंढने हैं:

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

हल करने के चरण

  • line := 1, count := 0
  • S में प्रत्येक i के लिए:
    • count := count + widths[i का ASCII - 97]
    • यदि count > 100, तो:
      • line := line + 1
      • count := widths[i का ASCII - 97]
  • [line, count] वापस करें

उदाहरण

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 आउटपुट:: 2 एल्गोरिदम स्ट्रिंग को स्पेस से विभाजित करें। एक काउंटर वेरिएबल c का उपयोग करें जिसे 0 से आरंभ करें। यदि शब्द मेल खाता है

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

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

  1. - Python में Long Lines को Wrap कैसे करें?

    Long Lines Wrap करना Long Lines Wrap करने का Preferred तरीका Python के Implied Line Continuation का उपयोग करना है Parentheses, Brackets और Braces के अंदर। यदि आवश्यक हो, तो आप Expression के चारों ओर Parentheses की Extra Pair Add कर सकते हैं, लेकिन कभी-कभी Backslash बेहतर दिखता है। Continued Line को