بکندباز

در رمزنگاری آینه‌ای، کدگذاری با جایگزینی هر کاراکتر پیام با کاراکتر آینه‌ای آن در کلید انجام می‌شود.

یک تابع بنویسید که دو پارامتر دریافت کند؛ یک پیام و یک کلید اختیاری، و پیام کدگذاری شده را برگرداند.

قوانین رمزنگاری:

  1. کاراکترهای پیام را با کاراکتر آینه‌ای آن‌ها در کلید جایگزین کنید.

مثال:

message = "Mubashir Hassan"
key = "edabitisamazing"
mirror_cipher(message, key) ➞ "tuzishar hissid"

مرحله اول: همه کاراکترهای پیام را با کاراکتر آینه‌ای آن‌ها در کلید جایگزین کنید.

  • M با t جایگزین می‌شود. (در key حروف “t” و “m” آینه یکدیگر هستند؛ شش کاراکتر از سمت چپ کلید حرف t و شش کاراکتر از سمت راست کلید حرف m است)
  • u همان u باقی می‌ماند. (چون در کلید نیست)
  • b با z جایگزین می‌شود. (z کاراکتر آینه‌ای b است)
  • a با i جایگزین می‌شود و به همین ترتیب…

مرحله دوم: پیام کدگذاری شده را به صورت حروف کوچک برگردانید:

"tuzishar hissid"

اگر کلید اختیاری ارائه نشود، کل الفبا به‌عنوان کلید در نظر گرفته شود (یعنی، key = "abcdefghijklmnopqrstuvwxyz").

نمونه ورودی و خروجی

mirror_cipher("Mubashir Hassan", "edabitisamazing") ➞ "tuzishar hissid"

mirror_cipher("Matt MacPherson") ➞ "nzgg nzxksvihlm"

mirror_cipher("Airforce is best", "pilot") ➞ "aorfirce os besp"

نکات:

  • به بزرگ یا کوچک بودن حروف پیام و کلید توجه نکنید.
self.assertEqual(mirror_cipher("Mubashir Hassan", "edabitisamazing"), "tuzishar hissid")
self.assertEqual(mirror_cipher("Matt MacPherson"), "nzgg nzxksvihlm")
self.assertEqual(mirror_cipher("Airforce is best", "pilot"), "aorfirce os besp")

پاسخ های کاربران به این تمرین

Astranger
امتیاز:‌ 1995
تصحیح اتوماتیک 0 0
‎پایتون‎
16 دي 1403

برای مشاهده پاسخ باید ابتدا وارد شده و قفل پاسخ را باز کنید

user-seX1
امتیاز:‌ 1995
تصحیح اتوماتیک 0 0
‎پایتون‎
11 آبان 1403

برای مشاهده پاسخ باید ابتدا وارد شده و قفل پاسخ را باز کنید

Sa_shadow
امتیاز:‌ 1995
تصحیح اتوماتیک 0 0
‎پایتون‎
11 آبان 1403

برای مشاهده پاسخ باید ابتدا وارد شده و قفل پاسخ را باز کنید

Arhsi8294
امتیاز:‌ 1995
تصحیح اتوماتیک 0 0
‎پایتون‎
11 آبان 1403

برای مشاهده پاسخ باید ابتدا وارد شده و قفل پاسخ را باز کنید

MarsBoy
امتیاز:‌ 1995
تصحیح اتوماتیک 0 0
‎پایتون‎
11 آبان 1403

برای مشاهده پاسخ باید ابتدا وارد شده و قفل پاسخ را باز کنید

نظرات

*
*

تمرینات مرتبط