मान लीजिए हमारे पास एक लोअरकेस वर्णमाला स्ट्रिंग text है, और एक अन्य स्ट्रिंग key है। हमें एक नई स्ट्रिंग ढूंढनी है जहां text का प्रत्येक अक्षर दाईं ओर key[i] ऑफसेट से स्थानांतरित हो। यहां ऑफसेट key[i] की वर्णमाला में स्थिति द्वारा दर्शाया गया है (A=0, B=1 आदि)। यदि अक्षर ओवरफ्लो होता है, तो यह दूसरी तरफ लपेट जाता है।
उदाहरण के लिए, यदि इनपुट है text = "code", key = "team", तो आउटपुट होगा "vsdq"।
हल करने के चरण
cip:= एक नई सूची।start:='a'का ASCII।textसे प्रत्येकlऔरkeyसे प्रत्येकkके लिए:shift := (k का ASCII) - startpos := start + ((l का ASCII) - start + shift) % 26posके वर्ण कोcipके अंत में डालें।
cipके स्ट्रिंग्स को जोड़कर लौटाएं।
उदाहरण
class Solution:
def solve(self, text, key):
cip = []
start = ord('a')
for l, k in zip(text, key):
shift = ord(k) - start
pos = start + (ord(l) - start + shift) % 26
cip.append(chr(pos))
return ''.join([l for l in cip])
ob = Solution()
text = "code"
key = "team"
print(ob.solve(text, key))
इनपुट
"code", "team"
आउटपुट
vsdq