समस्या विवरण
एक 26 अक्षर वर्ण सेट दिया गया है, यहां हम एक नए वर्ण सेट का उपयोग कर रहे हैं। और दूसरा वर्ण सेट वर्णमाला सेट (a, b, c........z) की तरह है, फिर हमारा कार्य नए वर्ण सेट और उस वर्णमाला सेट के बीच संबंध बनाना है।
उदाहरण
नया वर्ण सेट: qwertyuiopasdfghjklzxcvbnm
इनपुट: "wwmm"
आउटपुट: bbzy
एल्गोरिदम
- एक नया वर्ण सेट दिया गया है और संबंध बनाने के लिए स्ट्रिंग इनपुट करें।
- मूल वर्ण सेट भी नीचे दिया गया है।
- एक डिक्शनरी बनाएं, हम यहां मैप तकनीक का उपयोग करते हैं, हम अंग्रेजी वर्ण सेट और नए दिए गए वर्ण सेट को मैप करते हैं,
zip()यह हमारे लिए करता है। दोनों वर्ण सेट मैप हैं, यहां हम दिए गए वर्ण सेट के प्रत्येक वर्ण को नए चार्सेट के प्रत्येक वर्ण के साथ क्रमिक रूप से मिलाते हैं। - मूल स्ट्रिंग के माध्यम से पुनरावृति करें और मूल वर्ण सेट के वर्ण प्राप्त करें।
- स्पेस के बिना वर्णों को जोड़कर नई स्ट्रिंग प्राप्त करें।
उदाहरण कोड
# स्ट्रिंग को नए वर्ण सेट में बदलने का फंक्शन
def newString(cs, n):
ori = 'abcdefghijklmnopqrstuvwxyz'
newchar = dict(zip(cs, ori))
newstr = [newchar[chr] for chr in n]
print(''.join(newstr))
# ड्राइवर प्रोग्राम
if __name__ == "__main__":
newcharSet = 'qwertyuiopasdfghjklzxcvbnm'
input = 'wwmn'
newString(newcharSet, input)
आउटपुट
bbzy