بکندباز

رمز ستونی رمزی برای انتقال پیام های سری است که به این صورت عمل می کند.

فرض کنید این پیام سری ما است:

msg = "Meet me by the lake at midnight. Bring shovel."

1- حروف بزرگ را به حروف کوچک تبدیل کنید و علائم نگارشی و فاصله ها را حذف کنید:

msg = "meetmebythelakeatmidnightbringshovel"

2- سپس، یک کلمه کلیدی که حرف تکراری نداشته باشد انتخاب کنید:

keyword = "python"

3- پیام را به تکه هایی با طول کلمه کلیدی تقسیم کنید و آنها را در ردیف های زیر کلمه کلیدی بنویسید. سپس ستون ها را بر اساس ترتیب حروف الفبای کلمه کلیدی شماره گذاری کنید:

p y t h o n
m e e t m e
b y t h e l
a k e a t m
i d n i g h
t b r i n g
s h o v e l
4 6 5 1 3 2

 

4- پیام رمزگذاری شده را به صورت ستونی به ترتیب اعداد ردیف آخر باز نویسی کنید:

ciphertext = "thaiivelmhglmetgnembaitsetenroeykdbh"

نکته: اگر طول پیام مضربی از طول کلمه کلیدی نیست، هر فضای خالی را با “x” پر کنید. مثلا:

msg = "Meet me at midnight."

keyword = "python"
p y t h o n
m e e t m e
a t m i d n
i g h t x x

تابعی ایجاد کنید که یک رشته و یک کلمه کلیدی بگیرد و متن رمز شده را در خروجی برگرداند.

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

c_cipher("Meet me by the lake at midnight. Bring shovel.", "python") ➞ thaiivelmhglmetgnembaitsetenroeykdbh

c_cipher("Flight 1386 Gate 447 Contact November Bravo", "lockjaw") ➞ ttnvrxi67texhaoobxggcnrxf34amvl84cbo1eteax

c_cipher("Mission Delta Kilo Sierra has been compromised. Kill Steve. Evacuate", "cake") ➞ ioliiabcrsiteuxmieksrsnpiksecesdaoraemmdlvatxsntleheooelevax
self.assertEqual(c_cipher("Meet me by the lake at midnight. Bring shovel.", "python"), "thaiivelmhglmetgnembaitsetenroeykdbh")
self.assertEqual(c_cipher("Flight 1386 Gate 447 Contact November Bravo", "lockjaw"), "ttnvrxi67texhaoobxggcnrxf34amvl84cbo1eteax")
self.assertEqual(c_cipher("Mission Delta Kilo Sierra has been compromised. Kill Steve. Evacuate", "cake"), "ioliiabcrsiteuxmieksrsnpiksecesdaoraemmdlvatxsntleheooelevax")
self.assertEqual(c_cipher("Natural language processing (NLP) enables computers to understand human language.", "white"), "rneegnsutenagxalurslboeushlatlaoiplmrntuaguagcneepsdamnenagpsnactordnu")

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

Astranger
امتیاز:‌ 1220
تصحیح اتوماتیک 0 0
‎پایتون‎
27 ارديبهشت 1403

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

Aaaaaa
امتیاز:‌ 1220
تصحیح اتوماتیک 0 0
‎پایتون‎
27 اسفند 1402

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

FDK2077
امتیاز:‌ 1220
تصحیح اتوماتیک 0 0
‎پایتون‎
1 اسفند 1402

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

AmirNamdari
امتیاز:‌ 1220
تصحیح اتوماتیک 0 0
‎پایتون‎
19 بهمن 1402

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

alitayyar
امتیاز:‌ 1220
تصحیح اتوماتیک 0 0
‎پایتون‎
30 آذر 1402

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

Island0
امتیاز:‌ 1220
تصحیح اتوماتیک 0 0
‎پایتون‎
10 مهر 1402

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

Mohsen
امتیاز:‌ 1220
تصحیح اتوماتیک 0 0
‎پایتون‎
1 مهر 1402

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

Amin
امتیاز:‌ 1220
تصحیح اتوماتیک 0 0
‎پایتون‎
28 شهريور 1402

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

user-mqtz
امتیاز:‌ 1220
تصحیح اتوماتیک 0 0
‎پایتون‎
24 شهريور 1402

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

Mts3113
امتیاز:‌ 1220
0 0
‎پایتون‎
24 شهريور 1402

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

aliahmadi98
امتیاز:‌ 1220
تصحیح اتوماتیک 0 0
‎پایتون‎
14 شهريور 1402

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

mohamad.pro
امتیاز:‌ 1220
تصحیح اتوماتیک 0 0
‎پایتون‎
12 شهريور 1402

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

Hojat_SH
امتیاز:‌ 1220
تصحیح اتوماتیک 0 0
‎پایتون‎
9 شهريور 1402

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

EmEsDigi
امتیاز:‌ 1220
تصحیح اتوماتیک 0 0
‎پایتون‎
5 شهريور 1402

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

ali-zizo
امتیاز:‌ 1220
تصحیح اتوماتیک 0 0
‎پایتون‎
4 شهريور 1402

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

Miladunix
امتیاز:‌ 1220
تصحیح اتوماتیک 0 0
‎پایتون‎
3 شهريور 1402

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

Dragon
امتیاز:‌ 1220
تصحیح اتوماتیک 0 0
‎پایتون‎
2 شهريور 1402

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

mantix
امتیاز:‌ 1220
تصحیح اتوماتیک 0 0
‎پایتون‎
2 شهريور 1402

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

نظرات

*
*

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