मान लीजिए हमारे पास एक पहचानकर्ता दर्शाने वाली स्ट्रिंग है। हमें जांचना है कि यह वैध है या नहीं। कुछ मानदंड हैं जिनके आधार पर हम यह निर्धारित कर सकते हैं कि यह वैध है या नहीं।
- यह अंडरस्कोर '_' या किसी बड़े या छोटे अक्षर से शुरू होना चाहिए
- इसमें कोई व्हाइटस्पेस नहीं होना चाहिए
- पहले वर्ण के बाद के सभी बाद के वर्णों में $, #, % आदि जैसे कोई विशेष वर्ण नहीं होने चाहिए
यदि ये तीनों वैध हैं तो ही स्ट्रिंग वैध पहचानकर्ता है।
तो, यदि इनपुट id = "_hello_56" जैसा है, तो आउटपुट True होगा।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे:
- यदि s में पहला वर्ण वर्णमाला नहीं है और अंडरस्कोर नहीं है, तो
- False लौटाएं
- s[इंडेक्स 1 से अंत तक] में प्रत्येक वर्ण ch के लिए, करें
- यदि ch अल्फान्यूमेरिक नहीं है और ch अंडरस्कोर नहीं है, तो
- False लौटाएं
- यदि ch अल्फान्यूमेरिक नहीं है और ch अंडरस्कोर नहीं है, तो
- True लौटाएं
बेहतर समझ के लिए निम्नलिखित कार्यान्वयन देखें:
उदाहरण कोड
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