पायथन में स्ट्रिंग्स में हेरफेर करने के कई तरीके हैं। यदि आपको कोड चुनौती में पायथन में एक स्ट्रिंग के पहले अक्षर को कैपिटल करना है, तो आप इसे कैसे करेंगे? यह लेख उस उद्देश्य को पूरा करने के लिए स्ट्रिंग्स में हेरफेर करने के एक तरीके के बारे में बात करता है।
द प्रॉम्प्ट
एक पायथन स्ट्रिंग को देखते हुए, एक फ़ंक्शन लिखें जो पहले अक्षर को कैपिटल करेगा और उसे वापस कर देगा।
स्पष्टीकरण प्रश्न पूछें
यह संकेत नौकरी के साक्षात्कार के दौरान दिया जा सकता है। उस मामले में, साक्षात्कारकर्ता से यह स्पष्ट करने के लिए कहें कि आप समस्या को समझते हैं।
यहां कुछ प्रश्न दिए गए हैं जिनके बारे में आप सोच सकते हैं जब हम समस्या का सामना करते हैं:
- प्रश्न :क्या स्ट्रिंग हमेशा मौजूद रहेगी? मुझे कभी भी अशक्त या खाली स्ट्रिंग का सामना नहीं करना पड़ेगा?
- उत्तर :स्ट्रिंग हमेशा मौजूद नहीं रहेगी। हालांकि उन किनारे के मामलों पर नज़र रखना अच्छा है!
- प्रश्न :पहला अक्षर। क्या इसका मतलब केवल स्ट्रिंग का पहला अक्षर या स्ट्रिंग में प्रत्येक शब्द का पहला अक्षर है? आप मुझे इसे कैसे परिभाषित करना चाहेंगे?
- ए :स्ट्रिंग का पहला अक्षर ही।
- प्रश्न :क्या पहला अक्षर हमेशा एक अक्षर होगा? क्या मुझे ऐसे किसी भी मामले से निपटना होगा जहां एक स्ट्रिंग में पहला अक्षर एक संख्या हो सकता है?
- ए :अच्छा कैच। पहला अक्षर हमेशा एक स्ट्रिंग में पहला अक्षर नहीं हो सकता है। मैं चाहूंगा कि आप स्ट्रिंग के पहले अक्षर को बड़ा करें।
दृष्टिकोण
इस समस्या से निपटने के दो अलग-अलग तरीके हैं। समस्या को हल करने के एक से अधिक सही तरीके हैं। अगर आप कोई दूसरा तरीका अपनाते हैं, तो बढ़िया!
किनारे के मामलों को पहले संभालें यदि उनसे निपटने के लिए कहा जाए।
यहां, हमें यह संभालने की जरूरत है कि क्या होता है जब हमारे पास ऐसा मामला होता है जहां हमारे पास कोई स्ट्रिंग नहीं होती है, एक खाली स्ट्रिंग होती है, या पहला अक्षर एक अक्षर नहीं होता है। आइए अब इसे कोड करें:
def capitalize_str(str): if str == None: # if str is None return "NoneType is not a string" elif len(str) > 0: #if str exists # what type of char is first character? If number, move to next letter, if letter, capitalize it. return str #this is temporary -- we'll change this in next step. else: #if str is empty return "undefined string" capitalize_str("hello")
यहां, हमने किनारे के मामलों से निपटा है जहां स्ट्रिंग कोई नहीं होगी या इसकी लंबाई 0 होगी। हमने अभी तक बड़े अक्षर के साथ स्ट्रिंग को वापस करने के लिए तर्क के साथ कुछ भी नहीं किया है। हमें यह सुनिश्चित करने की आवश्यकता है कि यह पहले मौजूद है।
आइए देखें कि कैसे जांचें कि स्ट्रिंग में पहला अक्षर एक अक्षर है या नहीं। यदि यह एक संख्या या विशेष वर्ण है, तो हमें अगले वर्ण पर जाने की आवश्यकता है जब तक कि हमें पहला अक्षर नहीं मिल जाता। यदि यह एक अक्षर है, तो हम इसे कैपिटल करते हैं और स्ट्रिंग को बड़े अक्षर के साथ वापस करते हैं। यदि हम स्ट्रिंग के अंत तक पहुँचते हैं और कोई अक्षर नहीं है, तो ऐसा कहें।
81% प्रतिभागियों ने कहा कि बूटकैंप में भाग लेने के बाद उन्हें अपनी तकनीकी नौकरी की संभावनाओं के बारे में अधिक आत्मविश्वास महसूस हुआ। आज ही एक बूटकैंप से मिलान करें।
बूटकैंप शुरू करने से लेकर अपनी पहली नौकरी खोजने तक, औसत बूटकैंप ग्रेड ने करियर संक्रमण में छह महीने से भी कम समय बिताया।
def capitalize_str(str): if str == None: # if str is None return "NoneType is not a string" elif len(str) > 0: #if str exists # what type of char is first character? If number, move to next letter, if letter, capitalize it. i = 0 while i < len(str): if str[i].isalpha(): return str[0:i] + str[i].upper() + str[i + 1:] else: i += 1 return "string does not have letters" else: #if str is empty return "undefined string" print(capitalize_str("christina"))
पायथन में मौजूद स्ट्रिंग विधियों में से एक है isalpha()
. यह सुनिश्चित करने के लिए जाँच करता है कि एक वर्ण वर्णमाला का एक हिस्सा है। यदि ऐसा नहीं है, तो यह अगले अक्षर पर चला जाता है। जब हम पहले अक्षर वर्ण पर पहुँचते हैं, तो हम स्ट्रिंग के बाईं ओर, बड़े अक्षर और शेष स्ट्रिंग का एक संयोजन लौटाते हैं।
पायथन है capitalize()
फ़ंक्शन जो काम करता है क्योंकि यह पहले वर्ण को अपरकेस में परिवर्तित करता है, लेकिन यह किनारे के मामले को संभाल नहीं सकता है जहां पहला वर्ण एक अक्षर नहीं है। यही कारण है कि हम थोड़ी देर के लूप का उपयोग करके लूप करते हैं और फिर एक अक्षर खोजने के पहले उदाहरण पर जानबूझकर लूप को तोड़ते हैं।
निष्कर्ष
इस कोड चुनौती को जीतने का यह सिर्फ एक तरीका है! मुझे यकीन है कि यहां बताए गए तरीके से बहुत सारे अन्य तरीके हैं जो उतने ही अच्छे हैं (यदि बेहतर नहीं हैं)। यदि आप प्रॉम्प्ट पर स्पष्ट नहीं हैं और किनारे के मामलों के बारे में सोचने के लिए लक्ष्य पूछना सीखना है! यदि आप ऐसा कर सकते हैं, तो आप बिना किसी समस्या के कोड चुनौतियों को पार करने में सक्षम होंगे। शुभकामनाएँ!