ببساطة هذا البرنامج هو عبارة عن طريقة تشفير يقوم باخذ رسالة التشفير msg ويقوم بتعويض حرووف الرسالة بحروف اخرى وفقا لل key مثال`
لو وضعنا ال msg :
abc
و وضعنا ال key :
2
ما سيقوم به البرنامج الان هو اخذ حروف الرسالة ويقوم باستبدالها بحروف اخرى
وفقا لما وضعناه في ال key
لدينا ال a و ال key 2
اذن سنقوم بالتقدم بحرفين الى الامام
ال a ستصبح c
هذه حوصلة لعملية التشفير التي يقوم بها البرنامج
بالنسبة للكود نستطيع اختصاره فقط في هذا السطر:
def Crypt(msg, key):
return ''.join([chr(ord(s)+ key % 26) for s in msg])
لكن لكي تفهم الكود ساقوم بتقسيمه لمراحل:
def Crypt(msg, key):
crypted = ''
for letter in msg :
var = ord(letter) + key % 26
crypted += chr(var)
return crypted
نبدأ:
for letter in msg :
هنا نقوم بعمل for loop حول حروف الرسالة
لنعتبر ان الرسالة كانت abcd
اذن ال letter الان
هي a
var = ord(letter) + key % 26
هنا حيث تتم عملية التشفير
دور الدالة ord ()
هي اعطاءرقم ترتيب الحرف في ال ASCII Alphabet Characters
اذن قلنا ان اول حرف في الرسالة هو a
لذا ord(a) ستعطينا
97 وفقا لترتيب الاحرف
اذن العملية الحسابيى اصبحت
97 + key % 26
key = 2
العملية اصبحت
97 + 2 % 26 = 21
crypted += chr(var)
هنا دور الدالة chr() هو عكس دور الدالة الاخرى حيث هنا نعطيها نحن
رقم ترتيب الحرف حسب ال alphabet
وهي تعيد لنا الحرف
اذن الكود سيكون هكذا
crypted += chr(21)
وهنا سيعيد لنا الحرف c
اتمنى ان يكون الشرح قد افادك