ट्रैक
/
Python
Python
/
अभ्यास
/
छोटी बहन का निबंध
छोटी बहन का निबंध

छोटी बहन का निबंध

सीखने का अभ्यास

परिचय

str क्लास स्ट्रिंग के साथ काम करने और उन्हें जोड़ने के लिए कई उपयोगी मेथड देती है। इनमें खोजना, साफ करना, बाँटना, बदलना, अनुवाद करना और कई और तरीके शामिल हैं।

स्ट्रिंग यूनिकोड कोड पॉइंट का क्रम होती हैं। हर अलग "अक्षर" या कोड पॉइंट (1 लंबाई की स्ट्रिंग) को बाईं ओर से 0-based index संख्या से, या दाईं ओर से -1-based index संख्या से संदर्भित किया जा सकता है। स्ट्रिंग पर सामान्य क्रम संक्रियाएँ भी लागू होती हैं।

इन पर for item in <str> या for index, item in enumerate(<str>) सिंटैक्स की मदद से इटरेशन किया जा सकता है। इन्हें <str> + <other str> या <str>.join(<iterable>) की मदद से भी जोड़ा जा सकता है।

स्ट्रिंग अपरिवर्तनीय होती हैं, यानी मेमोरी में किसी str ऑब्जेक्ट की वैल्यू बदली नहीं जा सकती। str पर काम करने वाले फंक्शन या मेथड (जैसे हम यहाँ सीख रहे हैं) मूल str को बदलने के बजाय उस str ऑब्जेक्ट का नया instance लौटाते हैं।

नीचे Python के कुछ स्ट्रिंग मेथड दिए गए हैं। पूरी सूची के लिए Python के डॉक्स में str क्लास देखिए।

<str>.title() एक स्ट्रिंग को पढ़ता है और उसमें मिले हर "शब्द" के पहले "अक्षर" को बड़े अक्षर में बदल देता है। Python में यह काफी हद तक इस पर निर्भर करता है कि कौन-सा भाषा कोडेक इस्तेमाल हो रहा है, और वह भाषा शब्दों और अक्षरों को कैसे दिखाती है। किसी भाषा या अक्षर समूह के लिए लोकेल के नियम भी लागू हो सकते हैं।

man_in_hat_th = 'ผู้ชายใส่หมวก'
man_in_hat_ru = 'мужчина в шляпе'
man_in_hat_ko = '모자를 쓴 남자'
man_in_hat_en = 'the man in the hat.'

>>> man_in_hat_th.title()
'ผู้ชายใส่หมวก'

>>> man_in_hat_ru.title()
'Мужчина В Шляпе'

>>> man_in_hat_ko.title()
'모자를 쓴 남자'

>> man_in_hat_en.title()
'The Man In The Hat.'

<str>.endswith(<suffix>) True लौटाता है अगर स्ट्रिंग <suffix> पर खत्म होती है, वरना False।

>>> 'My heart breaks. 💔'.endswith('💔')
True

>>> 'cheerfulness'.endswith('ness')
True

# Punctuation is part of the string, so needs to be included in any endswith match.
>>> 'Do you want to 💃?'.endswith('💃')
False

>> 'The quick brown fox jumped over the lazy dog.'.endswith('dog')
False

<str>.strip(<chars>) str की एक कॉपी लौटाता है जिसमें से आगे और पीछे के <chars> हटा दिए जाते हैं। <chars> में दिए गए कोड पॉइंट कोई प्रीफ़िक्स या सफ़िक्स नहीं हैं। स्ट्रिंग के दोनों सिरों से शुरू करके कोड पॉइंट के सभी संयोजन हटाए जाते हैं। अगर <chars> के लिए कुछ भी नहीं दिया गया है, तो व्हाइटस्पेस कोड पॉइंट के सभी संयोजन हटा दिए जाते हैं।

# This will remove "https://", because it can be formed from "/stph:". 
>>> 'https://unicode.org/emoji/'.strip('/stph:')
'unicode.org/emoji'

# Removal of all whitespace from both ends of the str.
>>> '   🐪🐪🐪🌟🐪🐪🐪   '.strip()
'🐪🐪🐪🌟🐪🐪🐪'

>>> justification = 'оправдание'
>>> justification.strip('еина')
'оправд'

# Prefix and suffix in one step.
>>> 'unaddressed'.strip('dnue')
'address'

>>> '  unaddressed  '.strip('dnue ')
'address'

<str>.replace(<substring>, <replacement substring>) स्ट्रिंग की एक कॉपी लौटाता है जिसमें <substring> के हर मौके पर <replacement substring> लगा दिया जाता है।

नीचे दिया गया अंश Lewis Carroll की रचना The Hunting of the Snark से लिया गया है।

# The Hunting of the Snark, by Lewis Carroll
>>> quote = '''
"Just the place for a Snark!" the Bellman cried,
   As he landed his crew with care;
Supporting each man on the top of the tide
   By a finger entwined in his hair.

"Just the place for a Snark! I have said it twice:
   That alone should encourage the crew.
Just the place for a Snark! I have said it thrice:
   What I tell you three times is true."
'''

>>> quote.replace('Snark', '🐲')
...
'\n"Just the place for a 🐲!" the Bellman cried,\n   As he landed his crew with care;\nSupporting each man on the top of the tide\n   By a finger entwined in his hair.\n\n"Just the place for a 🐲! I have said it twice:\n   That alone should encourage the crew.\nJust the place for a 🐲! I have said it thrice:\n   What I tell you three times is true."\n'

>>> 'bookkeeper'.replace('kk', 'k k')
'book keeper'

निर्देश

इस अभ्यास में आप अपनी छोटी बहन को स्कूल के लिए उसका पेपर संपादित करने में मदद कर रहे हैं। शिक्षक सही विराम चिह्न, व्याकरण और बेहतरीन शब्दों के चुनाव पर ध्यान दे रहे हैं।

आपको स्ट्रिंग को साफ करने और बदलने के लिए चार कार्य करने हैं।

1. पेपर के शीर्षक को बड़े अक्षरों में लिखिए

किसी भी अच्छे पेपर के लिए ठीक से फॉर्मेट किया गया शीर्षक ज़रूरी है। फंक्शन capitalize_title(<title>) बनाइए, जो पैरामीटर के रूप में एक शीर्षक str लेता है और हर शब्द के पहले अक्षर को बड़ा करता है। यह फंक्शन टाइटल केस में एक str लौटाता है।

>>> capitalize_title("my hobbies")
"My Hobbies"

2. हर वाक्य के अंत में पूर्ण विराम की जाँच कीजिए

आप यह सुनिश्चित करना चाहते हैं कि पेपर में विराम चिह्न एकदम सही हों। फंक्शन check_sentence_ending() बनाइए, जो पैरामीटर के रूप में sentence लेता है। यह फंक्शन एक bool लौटाता है।

>>> check_sentence_ending("I like to hike, bake, and read.")
True

3. स्पेसिंग साफ कीजिए

पेपर को पेशेवर दिखाने के लिए अनावश्यक स्पेसिंग हटानी होगी। फंक्शन clean_up_spacing() बनाइए, जो पैरामीटर के रूप में sentence लेता है। यह फंक्शन वाक्य के शुरू और अंत दोनों से अतिरिक्त स्पेस हटाता है और एक नया, अपडेट किया हुआ वाक्य str लौटाता है।

>>> clean_up_spacing(" I like to go on hikes with my dog.  ")
"I like to go on hikes with my dog."

4. शब्दों को समानार्थी शब्द से बदलिए

पेपर को और भी बेहतर बनाने के लिए आप कुछ विशेषणों को उनके समानार्थी शब्दों से बदल सकते हैं। फंक्शन replace_word_choice() लिखिए, जो पैरामीटर के रूप में sentence, old_word और new_word लेता है। यह फंक्शन old_word की सभी जगहों पर new_word लगाता है और अपडेट किए गए वाक्य के साथ एक नया str लौटाता है।

>>> replace_word_choice("I bake good cakes.", "good", "amazing")
"I bake amazing cakes."
GitHub के ज़रिए संपादित करें यह लिंक एक नई विंडो या टैब में खुलता है
Python Exercism

छोटी बहन का निबंध शुरू करने के लिए तैयार हैं?

Exercism पर साइन अप कीजिए और Python को 17 कॉन्सेप्ट146 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।