بکندباز

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

تابعی ایجاد کنید که دو آرگومان داشته باشد. یک عدد صحیح مثبت (key) و یک رشته (message). این تابع یک لیست کدگذاری شده از اعداد صحیح را به عنوان پیام برمی گرداند.

مراحل رمزگذاری

مثال:

message = "scout"
key = 1939

ابتدا حروف الفبا را با شروع از عدد 1، شماره گذاری کنید.

 a  b  c  d  e  f  g  h  i  j  k  l  m
 1  2  3  4  5  6  7  8  9  10 11 12 13
 n  o  p  q  r  s  t  u  v  w  x  y  z
 14 15 16 17 18 19 20 21 22 23 24 25 26

در مقابل هر کاراکتر message عدد مربوطه را بنویسید:

 s  c  o  u  t
19  3 15 21 20

به هر رقم به دست آمده ارقام متوالی را از key اضافه کنید:

   s  c  o  u  t
  19  3 15 21 20
 + 1  9  3  9  1
 ---------------
  20 12 18 30 21

نتیجه

digital_cipher(message, key) ➞ [20, 12, 18, 30, 21]

برای درک بهتر مثال زیر را ببینید:

message = "masterpiece"
key = 1939


   m  a  s  t  e  r  p  i  e  c  e
  13  1 19 20  5 18 16  9  5  3  5
+  1  9  3  9  1  9  3  9  1  9  3
  --------------------------------
  14 10 22 29  6 27 19 18  6  12 8

نتیجه:

digital_cipher(message, key) ➞ [14, 10, 22, 29, 6, 27, 19, 18, 6, 12, 8]

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

digital_cipher("scout", 1939) ➞ [20, 12, 18, 30, 21]

digital_cipher("mubashir", 1990) ➞ [14, 30, 11, 1, 20, 17, 18, 18]

digital_cipher("edabit", 100) ➞ [6, 4, 1, 3, 9, 20]
self.assertEqual(digital_cipher("scout", 1939), [20, 12, 18, 30, 21])
self.assertEqual(digital_cipher("mubashir", 1990), [14, 30, 11, 1, 20, 17, 18, 18])
self.assertEqual(digital_cipher("edabit", 100), [6, 4, 1, 3, 9, 20])

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

Sa_shadow
امتیاز:‌ 8495
تصحیح اتوماتیک 0 0
‎پایتون‎
1 شهريور 1403

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

FDK2077
امتیاز:‌ 8495
تصحیح اتوماتیک 0 0
‎پایتون‎
21 بهمن 1402

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

seyed
امتیاز:‌ 8495
تصحیح اتوماتیک 0 0
‎پایتون‎
22 دي 1402

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

amiroo86
امتیاز:‌ 8495
تصحیح اتوماتیک 0 0
‎پایتون‎
16 دي 1402

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

shayan0081
امتیاز:‌ 8495
تصحیح اتوماتیک 0 0
‎پایتون‎
14 دي 1402

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

Mts3113
امتیاز:‌ 8495
تصحیح اتوماتیک 0 0
‎پایتون‎
12 دي 1402

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

aliahmadi98
امتیاز:‌ 8495
تصحیح اتوماتیک 0 0
‎پایتون‎
11 دي 1402

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

user-t4h6
امتیاز:‌ 8495
تصحیح اتوماتیک 0 0
‎پایتون‎
9 دي 1402

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

user-XrN6
امتیاز:‌ 8495
تصحیح اتوماتیک 0 0
‎پایتون‎
9 دي 1402

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

AmirNamdari
امتیاز:‌ 8495
تصحیح اتوماتیک 0 0
‎پایتون‎
9 دي 1402

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

quchani
امتیاز:‌ 8495
تصحیح اتوماتیک 0 0
‎پایتون‎
6 دي 1402

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

mantix
امتیاز:‌ 8495
تصحیح اتوماتیک 0 0
‎پایتون‎
6 دي 1402

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

alitayyar
امتیاز:‌ 8495
تصحیح اتوماتیک 0 0
‎پایتون‎
6 دي 1402

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

نظرات

*
*

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