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

पायथन में लक्ष्य पार्सर व्याख्या आदेश खोजने का कार्यक्रम

मान लीजिए कि हमारे पास एक लक्ष्य पार्सर है जो किसी दिए गए स्ट्रिंग कमांड की व्याख्या कर सकता है। एक कमांड में होते हैं

  • एक अक्षर "G",

  • कोष्ठक खोलना और बंद करना "()"

  • और/या "(अल)" किसी क्रम में।

हमारा लक्ष्य पार्सर "जी" को स्ट्रिंग "जी", "()" के रूप में "ओ" और "(अल)" स्ट्रिंग "अल" के रूप में व्याख्या करेगा। अंत में व्याख्या किए गए तारों को मूल क्रम में जोड़ दिया जाता है। इसलिए यदि हमारे पास स्ट्रिंग कमांड है, तो हमें लक्ष्य पार्सर की कमांड की व्याख्या को खोजना होगा।

इसलिए, यदि इनपुट कमांड ="जी () () () (अल) (अल)" जैसा है, तो आउटपुट गूलाल होगा।

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

  • s:=रिक्त स्ट्रिंग

  • मैं के लिए 0 से लेकर कमांड के आकार -1 तक, करो

    • यदि कमांड [i] "(" के समान नहीं है और कमांड [i] ")" के समान नहीं है, तो

      • s :=s concatenate कमांड[i]

    • अगर कमांड [i] "(" के समान है और कमांड [i+1] समान है ")" और i+1

      • s :=s 'o' को जोड़ना

    • अगर कमांड [i] "(" के समान है, तो

      • अगले पुनरावृत्ति के लिए जाएं

    • अगर कमांड [i] ")" के समान है, तो

      • अगले पुनरावृत्ति के लिए जाएं

  • वापसी एस

उदाहरण (पायथन)

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

def solve(command):
   s=""
   for i in range(len(command)):
      if command[i]!="(" and command[i]!=")":
         s+=command[i]
      if command[i]=="(" and command[i+1]==")" and i+1<len(command):
         s+='o'
      if command[i]=="(":
         continue
      if command[i]==")":
         continue
   return s

command = "G()()()(al)(al)"
print(solve(command))

इनपुट

"G()()()(al)(al)"

आउटपुट

Goooalal

  1. बड़ी संख्या का भाज्य खोजने के लिए पायथन कार्यक्रम

    मान लीजिए कि हमारे पास एक बड़ी संख्या n है। हमें इसका फैक्टोरियल खोजना होगा। कुछ अन्य भाषाओं में बड़ी संख्या का भाज्य ज्ञात करना बहुत कठिन है क्योंकि यह पूर्णांक डेटा प्रकारों की सीमा से अधिक हो सकता है। लेकिन पायथन में यह स्वचालित रूप से लंबाई का पता लगा लेगा और डिफ़ॉल्ट रूप से संख्या को बड़े पूर्ण

  1. पायथन में बहुभुज का क्षेत्रफल ज्ञात करने का कार्यक्रम

    मान लीजिए कि हमारे पास ऑर्डर किए गए बिंदुओं की एक सूची है जो 2 डी विमान पर एक साधारण बहुभुज समापन बिंदु का प्रतिनिधित्व करती है। हमें इस बहुभुज का क्षेत्रफल ज्ञात करना है। इसलिए, यदि इनपुट अंक =[(0, 0), (0,5), (3, 5), (3,0)] की तरह है, तो आउटपुट 15 होगा। इसे हल करने के लिए, हम इन चरणों का पालन क

  1. पायथन में बहुभुज की परिधि खोजने का कार्यक्रम

    मान लीजिए कि हमारे पास ऑर्डर किए गए बिंदुओं की एक सूची है जो 2 डी विमान पर एक साधारण बहुभुज समापन बिंदु का प्रतिनिधित्व करती है। हमें इस बहुभुज का परिमाप ज्ञात करना है। इसलिए, यदि इनपुट अंक =[(0, 0), (0,5), (3, 5), (3,0)] की तरह है, तो आउटपुट 16 होगा क्योंकि दो भुजाओं की लंबाई 3 है और दो भुजाओं