استخدام دالة chr() لتحويل الأرقام إلى حروف في Python

تمت الكتابة بواسطة: عبد الحكيم

تارخ آخر تحديث: 21 سبتمبر 2024

محتوى المقال

استخدام دالة chr() لتحويل الأرقام إلى حروف في Python

في Python، تُعتبر دالة chr() إحدى الدوال المدمجة التي تسمح للمبرمجين بتحويل الأرقام الصحيحة إلى الحروف المقابلة لها بناءً على ترميز الـ ASCII أو الترميز الموحد Unicode. يعد هذا النوع من التحويل مهمًا للغاية عند التعامل مع النصوص والرموز المشفرة التي تعتمد على الأرقام في تمثيل الحروف.

في هذا المقال، سنستعرض كيفية استخدام دالة chr()، ونوضح كيف يمكن تحويل الأرقام إلى حروف، مع تقديم أمثلة عملية لتوضيح الفكرة.

ما هي دالة chr()؟

دالة chr() في Python هي دالة مدمجة تقوم بتحويل الأرقام الصحيحة إلى الحروف المقابلة لها في جدول ASCII (أو Unicode في الإصدارات الحديثة من Python). يقوم جدول ASCII بربط كل حرف برقم فريد (مثل "A" يعادل 65 و "a" يعادل 97).

على سبيل المثال، الرقم 65 يمثل الحرف الكبير "A"، والرقم 97 يمثل الحرف الصغير "a". باستخدام chr()، يمكنك بسهولة تحويل هذه الأرقام إلى الحروف المقابلة لها.

أبسط استخدام لدالة chr()

لنلقِ نظرة على أبسط استخدام لدالة chr(). في هذا المثال، سنقوم بتحويل الرقم 65 إلى الحرف المقابل له:

char = chr(65)
print(char)
# الناتج: A

في هذا المثال، الدالة chr(65) تقوم بتحويل الرقم 65 إلى الحرف "A".

فهم ترميز ASCII

لفهم كيفية عمل دالة chr() بشكل أفضل، من المهم أن نتعرف على ترميز ASCII. ASCII هو اختصار لـ "American Standard Code for Information Interchange"، ويستخدم لتعيين قيم رقمية للحروف والعلامات والرموز. على سبيل المثال:

  • 65: الحرف "A"
  • 66: الحرف "B"
  • 97: الحرف "a"
  • 98: الحرف "b"
  • 48: الرقم "0"
  • 49: الرقم "1"

دالة chr() تستخدم هذه الأرقام لتحويلها إلى الحروف المقابلة.

أمثلة على استخدام chr() مع الحروف الكبيرة والصغيرة

لنقم بتطبيق بعض الأمثلة التي توضح كيفية تحويل الأرقام إلى حروف باستخدام chr() مع الحروف الكبيرة والصغيرة:

تحويل الأرقام إلى حروف كبيرة

char_A = chr(65) # A
char_B = chr(66) # B
print(char_A, char_B)
# الناتج: A B

تحويل الأرقام إلى حروف صغيرة

char_a = chr(97) # a
char_b = chr(98) # b
print(char_a, char_b)
# الناتج: a b

في هذه الأمثلة، قمنا بتحويل الأرقام 65 و66 إلى الحرفين "A" و"B" على التوالي، بينما قمنا بتحويل الأرقام 97 و98 إلى الحرفين "a" و"b".

استخدام chr() مع الأرقام الخاصة والرموز

يمكن أيضًا استخدام chr() لتحويل الأرقام إلى رموز خاصة مثل العلامات النقطية أو الرموز الحسابية. على سبيل المثال:

char_exclamation = chr(33) # علامة التعجب !
char_dollar = chr(36) # علامة الدولار $
print(char_exclamation, char_dollar)
# الناتج: ! $

في هذا المثال، الرقم 33 يُمثل علامة التعجب "!" والرقم 36 يُمثل علامة الدولار "$".

الجمع بين chr() و ord()

في Python، هناك دالة أخرى تُسمى ord() تقوم بالعكس تمامًا لما تفعله chr(). بينما تقوم chr() بتحويل الأرقام إلى حروف، تقوم ord() بتحويل الحروف إلى الأرقام المقابلة لها في جدول ASCII.

على سبيل المثال، إذا أردت معرفة الرقم المقابل للحرف "A"، يمكنك استخدام ord()، كما في المثال التالي:

num_A = ord('A')
print(num_A)
# الناتج: 65

هنا، الدالة ord('A') تُرجع الرقم 65، الذي يمثل الحرف "A" في جدول ASCII.

مثال: الجمع بين chr() و ord()

يمكنك استخدام chr() و ord() معًا لتنفيذ عمليات معقدة، مثل تحويل سلسلة نصية إلى أرقام ثم إعادتها إلى الحروف:

text = "Python"
# تحويل كل حرف إلى رقمه في ASCII
ascii_values = [ord(char) for char in text]
print(ascii_values) # الناتج: [80, 121, 116, 104, 111, 110]

# تحويل الأرقام مرة أخرى إلى حروف باستخدام chr()
chars = [chr(num) for num in ascii_values]
print(''.join(chars)) # الناتج: Python

في هذا المثال، قمنا أولاً بتحويل كل حرف من سلسلة "Python" إلى الأرقام المقابلة له في ASCII باستخدام ord()، ثم استخدمنا chr() لإعادة تحويل الأرقام إلى الحروف الأصلية.

حدود استخدام chr()

بينما تعمل chr() بشكل ممتاز مع الأرقام التي تمثل حروفًا أو رموزًا في ترميز ASCII أو Unicode، هناك حدود لاستخدامها. لا يمكن استخدام chr() مع الأرقام السالبة أو الأرقام التي لا تقع ضمن نطاق Unicode المدعوم، وستظهر رسالة خطأ إذا حاولت إدخال قيمة غير صحيحة.

مثال على استخدام غير صحيح لـ chr()

# محاولة استخدام chr() مع قيمة سالبة
try:
    print(chr(-1))
except ValueError as e:
    print(e) # الناتج: ValueError: chr() arg not in range(0x110000)

في هذا المثال، قمنا بمحاولة إدخال رقم سالب إلى chr()، مما أدى إلى ظهور خطأ لأن الدالة لا تدعم الأرقام السالبة.

الخلاصة

دالة chr() في Python هي أداة قوية لتحويل الأرقام إلى حروف بناءً على ترميز ASCII أو Unicode. يمكنك استخدامها لتحويل القيم الرقمية إلى الحروف أو الرموز المقابلة لها، مما يجعلها مفيدة للغاية في البرمجة التي تتطلب التعامل مع النصوص والرموز المشفرة. من خلال دمجها مع دالة ord()، يمكنك بناء حلول معقدة تتعامل مع تحويل النصوص إلى أرقام والعكس.

طور مهاراتك: مقالات يجب قراءتها في البرمجة