सभी वर्णों पर पुनरावृति करें
चूँकि किसी वर्ण को अनुक्रमणिका द्वारा एक्सेस किया जा सकता है, आप सभी वर्णों पर पुनरावृति करने के लिए एक चर लूप का उपयोग कर सकते हैं, जो संभावित सूचकांक मान लेगा। उदाहरण के लिए, एक प्रोग्राम जो
s
स्ट्रिंग के सभी वर्ण कोड प्रदर्शित करता है, वह ऐसा दिखाई देगा
<पूर्व>
मैं सीमा में (लेन (रों)) के लिए:
प्रिंट (एस [i], ऑर्ड (एस [i]))
पूर्व>
कार्यक्रम के लिए स्पष्टीकरण:
1)
len(s)
फ़ंक्शन स्ट्रिंग की लंबाई का पता लगाता है। पहले वर्ण का सूचकांक 0 है और अंतिम का सूचकांक len(s)-1 है। लूप वेरिएबल
i
केवल मानों को
0
से
len(s)-1
तक ले जाएगा।
2) प्रत्येक पंक्ति में, प्रतीक स्वयं पहले प्रदर्शित होगा, और उसके बाद उसका कोड, जो अंतर्निहित फ़ंक्शन
ord() द्वारा वापस किया जाता है।
उसी गणना को छोटा लिखा जा सकता है:
<पूर्व>
सी में एस के लिए:
प्रिंट (सी, ऑर्ड (सी))
पूर्व>
इस फ़्रैगमेंट में, लूप हेडर सभी वर्णों के माध्यम से लूप करता है, उन्हें बदले में वेरिएबल
c
में रखता है।
जैसा कि पहले ही उल्लेख किया गया है, स्ट्रिंग्स के साथ काम करते समय पायथन की ख़ासियत यह है कि तार अपरिवर्तनीय वस्तुएं हैं। दूसरे शब्दों में, हम किसी स्ट्रिंग के अलग-अलग वर्णों को नहीं बदल सकते हैं।
उदाहरण के लिए, निम्न कथन काम नहीं करेगा
<पूर्व>
s[5]='a'
लेकिन आप आवश्यक परिवर्तनों के साथ वर्णों से एक नई पंक्ति बना सकते हैं।
कार्य
इनपुट स्ट्रिंग में, 'a' अक्षर 'b'.
<पूर्व>
एस = इनपुट ()
नया = ""
सी में एस के लिए:
अगर सी == 'ए': सी = 'बी'
नया + = सी
प्रिंट(sNew)
इस प्रोग्राम में, लूप स्ट्रिंग s के सभी वर्णों से होकर जाता है। लूप की बॉडी में, हम वेरिएबल
с
के मान की जांच करते हैं: यदि प्रतीक प्रतीक '
a
' से मेल खाता है, तो हम इसे बदल देते हैं '
b
' के साथ और इसे अतिरिक्त ऑपरेटर का उपयोग करके नई लाइन
sNew
के अंत में जोड़ें।
यह विकल्प काफी धीमा है।
भविष्य में, हम बिल्ट-इन स्ट्रिंग मैनिपुलेशन फ़ंक्शंस पर एक नज़र डालेंगे और सीखेंगे कि इसे तेज़ी से कैसे करना है।