Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन में विगनेर सिफर का उपयोग करके स्ट्रिंग एन्क्रिप्ट करने का प्रोग्राम


मान लीजिए हमारे पास एक लोअरकेस वर्णमाला स्ट्रिंग 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) - start
    • pos := start + ((l का ASCII) - start + shift) % 26
    • pos के वर्ण को 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
  1. - पायथन प्रोग्राम: लिस्ट को स्ट्रिंग में बदलें

    इस लेख में, हम दिए गए प्रॉब्लम स्टेटमेंट को हल करने के समाधान और दृष्टिकोण के बारे में सीखेंगे। प्रॉब्लम स्टेटमेंट एक लिस्ट दिए जाने पर, हमें इसे स्ट्रिंग टाइप में बदलने की आवश्यकता है। यहां हम ऊपर दी गई प्रॉब्लम स्टेटमेंट को हल करने के लिए चार अलग-अलग दृष्टिकोणों पर चर्चा करेंगे: दृष्टिकोण 1: खा

  1. - पायथन में % ऑपरेटर से स्ट्रिंग फॉर्मेटिंग

    पायथन में स्ट्रिंग फॉर्मेटिंग के कई तरीके हैं: % ऑपरेटर, {} (str.format), और Template Strings। इस लेख में हम C-स्टाइल % फॉर्मेटिंग को कवर करेंगे। % फॉर्मेटिंग के प्रकार स्ट्रिंग फॉर्मेटिंग एक्सप्रेशन: C के printf पर आधारित। स्ट्रिंग फॉर्मेटिंग मेथड कॉल्स: पायथन 2.6+ में उपलब्ध (str.format)। सामा

  1. - पायथन प्रोग्राम: सेट का उपयोग करके दिए गए स्ट्रिंग में वॉवेल्स की संख्या गिनना

    इस प्रोग्राम में, एक यूजर इनपुट स्ट्रिंग दी गई है। हमें इस स्ट्रिंग में वॉवेल्स की संख्या गिननी है। यहां हम पायथन में सेट का उपयोग करते हैं। सेट एक अनऑर्डर्ड कलेक्शन डेटा टाइप है जो इटरेबल, म्यूटेबल है और इसमें कोई डुप्लिकेट एलिमेंट्स नहीं होते।उदाहरणInput str1=pythonprogram Output 3एल्गोरिदमचरण 1: