मान लीजिए कि हमारे पास एक पहचानकर्ता का प्रतिनिधित्व करने वाला एक स्ट्रिंग है। हमें यह जांचना होगा कि यह वैध है या नहीं। कुछ मानदंड हैं जिनके आधार पर हम यह निर्धारित कर सकते हैं कि यह मान्य है या नहीं।
- यह अंडरस्कोर '_' या किसी बड़े या छोटे अक्षर से शुरू होना चाहिए
- इसमें कोई खाली जगह नहीं है
- पहले के बाद के सभी वर्णों में $, #, % आदि जैसे कोई विशेष वर्ण शामिल नहीं होने चाहिए।
यदि ये तीनों मान्य हैं तो केवल स्ट्रिंग ही मान्य पहचानकर्ता है।
इसलिए, यदि इनपुट id ="_hello_56" जैसा है, तो आउटपुट ट्रू होगा।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- यदि s में पहला वर्ण वर्णानुक्रमिक नहीं है और अंडरस्कोर नहीं है, तो
- झूठी वापसी
- प्रत्येक वर्ण ch के लिए [सूचकांक 1 से अंत तक], करें
- यदि ch अक्षरांकीय नहीं है और ch अंडरस्कोर नहीं है, तो
- झूठी वापसी
- यदि ch अक्षरांकीय नहीं है और ch अंडरस्कोर नहीं है, तो
- सही लौटें
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
उदाहरण कोड
def solve(s): if not s[0].isalpha() and s[0] != '_': return False for ch in s[1:]: if not ch.isalnum() and ch != '_': return False return True id = "_hello_56" print(solve(id))
इनपुट
"_hello_56"
आउटपुट
True