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

पायथन में 1-बिट और 2-बिट वर्ण

मान लीजिए कि हमारे पास दो विशेष पात्र हैं। पहले कैरेक्टर को एक बिट 0 द्वारा दर्शाया जा सकता है। और दूसरे कैरेक्टर को दो बिट्स (10 या 11) द्वारा दर्शाया जा सकता है। तो, अगर हमारे पास कई बिट्स द्वारा दर्शाया गया एक स्ट्रिंग है। हमें यह जांचना होगा कि अंतिम वर्ण एक बिट वर्ण होना चाहिए या नहीं। दी गई स्ट्रिंग हमेशा शून्य के साथ समाप्त होगी।

इसलिए, यदि इनपुट [1,0,0] जैसा है, तो आउटपुट ट्रू होगा, क्योंकि इसे डीकोड करने का एकमात्र तरीका टूबिट कैरेक्टर (10) और वन-बिट कैरेक्टर (0) है। तो, आखिरी कैरेक्टर वन-बिट कैरेक्टर है।

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

  • बिट्स का आकार> 1 करते हुए, करें
  • वर्तमान:=बिट्स का पहला तत्व, फिर बिट्स से पहला तत्व हटाएं
  • यदि धारा 1 के समान है, तो
    • बिट्स से पहला तत्व हटाएं
  • यदि बिट्स का आकार 0 के समान है, तो
    • झूठी वापसी
  • सही लौटें जब बिट्स[0] 0 के समान हो, अन्यथा गलत हो

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

उदाहरण

class Solution:
   def isOneBitCharacter(self, bits):
      while len(bits) > 1:
         current = bits.pop(0)
         if current == 1:
            bits.pop(0)
      if len(bits) == 0:
         return False
      return bits[0] == 0
ob = Solution()
print(ob.isOneBitCharacter([1,0,0]))

इनपुट

[1,0,0]

आउटपुट

True

  1. किसी दिए गए स्ट्रिंग में ऊपरी और निचले केस वर्णों को गिनने के लिए पायथन प्रोग्राम।

    किसी दिए गए स्ट्रिंग इनपुट के लिए, हम पाइथन का उपयोग करके लोअर केस में और अपर केस में वर्णों की संख्या की गणना करना चाहते हैं। उदाहरण के लिए, दी गई स्ट्रिंग के लिए, "Hello World" गिनती होनी चाहिए - Upper case: 2 Lower case: 8 हम ऊपरी और निचले केस वर्णों की जांच के लिए 2 शर्तों के साथ लूप

  1. पात्रों को बदलने के लिए पायथन में मानचित्र फ़ंक्शन और लैम्ब्डा अभिव्यक्ति

    हम एक अक्षर a1 को a2 से और a2 को a1 से बदलना चाहते हैं। उदाहरण के लिए, इनपुट स्ट्रिंग के लिए, "puporials toinp" और अक्षर p और t, हम चाहते हैं कि अंत स्ट्रिंग जैसा दिखे - "tutorials point" इसके लिए हम प्रतिस्थापन करने के लिए मानचित्र फ़ंक्शन और लैम्ब्डा का उपयोग कर सकते हैं। नक

  1. पायथन में =+ और +=क्या करते हैं?

    +=ऑपरेटर ऑब्जेक्ट के लिए सिंटैक्टिक शुगर है।__iadd__() फ़ंक्शन। पायथन डॉक्स से: इन विधियों को संवर्धित अंकगणितीय असाइनमेंट को लागू करने के लिए कहा जाता है (+=, -=, *=, @=, /=, //=, %=, **=, =, &=, ^=, |=). इन विधियों को ऑपरेशन को जगह में करने का प्रयास करना चाहिए (स्वयं को संशोधित करना) और परिणाम व