কম্পিউটার টিউটোরিয়াল

পাইথনে সিজার সিফার বাস্তবায়ন করুন


मान लीजिए हमारे पास एक लोअरकेस अल्फाबेट स्ट्रिंग s है, और एक ऑफसेट नंबर k। हमें s के प्रत्येक अक्षर को अल्फाबेट में k पोजीशन आगे वाले अक्षर से बदलना है। ध्यान रखें कि जब अक्षर a या z के पार चला जाता है, तो यह दूसरी तरफ से रैप अराउंड हो जाता है।

यदि इनपुट "hello", k = 3 जैसा है, तो आउटपुट "khoor" होगा।

इसे हल करने के लिए हम निम्नलिखित चरणों का पालन करेंगे:

  • एक फंक्शन shift() परिभाषित करें। यह c लेगा:
    • i := ASCII(c) - ASCII('a')
    • i := i + k
    • i := i mod 26
    • ASCII('a') + i থেকে ক্যারেক্টার রিটার্ন করুন
  • মূল মেথড থেকে, নিম্নলিখিত করুন:
    • ret := s-এর প্রতিটি ক্যারেক্টার c-এর জন্য shift(c) কল করে একটি লিস্ট তৈরি করুন
    • ret রিটার্ন করুন

বेहतर বোঝার জন্য নিচের ইমপ্লিমেন্টেশন দেখুন:

উদাহরণ

class Solution:
    def solve(self, s, k):
        def shift(c):
            i = ord(c) - ord('a')
            i += k
            i %= 26
            return chr(ord('a') + i)
        return "".join(map(shift, s))

ob = Solution()
print(ob.solve("hello", 3))

ইনপুট

"hello", 3

আউটপুট

khoor

  1. পাইথনে issuperset() ফাংশন

  2. পাইথনে আন্ডারস্কোর (_) এর ব্যবহার

  3. পাইথনে Quine প্রোগ্রাম (স্ব-প্রजनনকারী কোড)

  4. নিজস্ব কেইসার সিফার এনকোডার তৈরি করুন: ধাপে ধাপে গাইড