कई बार हमें यह पता लगाने की आवश्यकता होती है कि कोई एक्सप्रेशन इसमें मौजूद ब्रैकेट्स के संबंध में बैलेंस्ड है या नहीं। बैलेंस्ड से हमारा मतलब है कि प्रत्येक लेफ्ट ब्रैकेट के लिए एक संगत राइट ब्रैकेट है और ब्रैकेट्स का क्रम उचित रूप से व्यवस्थित है। प्रोग्राम या गणितीय एक्सप्रेशन लिखने में इसका महत्व है जहां ब्रैकेट्स का भारी उपयोग किया जाता है। इस विषय में, हम देखेंगे कि हम प्रोग्रामेटिकली कैसे पता लगा सकते हैं कि ब्रैकेट्स वाला एक एक्सप्रेशन बैलेंस्ड है या नहीं।
एलिमिनेशन के माध्यम से
इस मेथड में, हम इनरमोस्ट पेयर ऑफ ब्रैकेट्स ढूंढते हैं और उन्हें नल वैल्यूज़ से बदल देते हैं। हम इसे तब तक करते रहते हैं जब तक ब्रैकेट्स के सभी पेयर्स बदल नहीं जाते। यदि फिर भी कोई ब्रैकेट बचा रहता है तो एक्सप्रेशन बैलेंस्ड नहीं है अन्यथा एक्सप्रेशन बैलेंस्ड पाया जाता है।
उदाहरण
def brackets(expression):
all_br = ['()', '{}', '[]']
while any(x in expression for x in all_br):
for br in all_br:
expression = expression.replace(br, '')
return not expression
# फंक्शन कॉल करें
input_string = "([]{}()"
if brackets(input_string):
print(input_string, "balanced")
else:
print(input_string, "Not balanced")
आउटपुट
उपरोक्त कोड चलाने पर निम्न परिणाम मिलता है:
([]{}() Not balanced