برنامج Palindrome في Python
ما هو برنامج Palindrome في Python?
يمكن تعريف Palindrome على أنه سلسلة أو رقم يعرض نفس القيمة عندما يتم عكس موضعه. وبمعنى أبسط، فإنه يظل دون تغيير عند عكسه.
Example: deed, 101
عند مقارنة الكلمة العكسية والكلمة الفعلية (رقم أو سلسلة) فإنها تنتج نفس النتيجة.
أنواع المتناظرة
In Python لغة، Palindrome هو من ثلاثة أنواع، كما هو موضح أدناه:
- متناظرة متعددة الكلمات: هذا عبارة عن مزيج من كلمات متعددة حيث تكون قيمة الكلمات الأصلية والمعكوسة هي نفسها.
- متناظرة كلمة واحدة: هذه كلمة واحدة حيث تكون قيمة الكلمات الأصلية والمعكوسة هي نفسها.
- متناظرة الرقم: هذا هو الرقم الذي تكون فيه قيم الأرقام الأصلية والمقلوبة متماثلة. يظل الإدخال المعطى كما هو إما من الجانب الأمامي أو من الجانب الخلفي.
خوارزمية لعدد Palindrome في Python
يمكن تطبيق الخوارزمية التالية للتحقق من الرقم المتناظر:
الخطوة 1) تنفيذ تعريف المتغير كـ "I"واقرأ المتغير.
الخطوة 2) تعيين 'I' إلى المتغير المؤقت j. ط=ي
الخطوة 3) قم بإجراء الحلقة بالتعليمات كما هو موضح أدناه: –
- م = أنا %10
- الطول = الطول × 10 + م
- أنا = أنا / 10
الخطوة 4) قارن المتغير المؤقت بـ l . ل == ي.
الخطوة 5) اطبع الرقم ليكون متناظرًا إذا تحقق الشرط.
الخطوة 6) إذا كان الشرط غير مستوفي، قم بطباعة الرقم على أنه ليس متناظرًا.
الخطوة 7) النهاية
تنطبق الخوارزمية أعلاه على الأرقام المتناظرة في Python.
الطريقة الأولى: رقم Palindrome في Python باستخدام التقطيع إلى الوراء
التقطيع إلى الخلف Python يتضمن بشكل عام استخدام عبارات فرعية من البرنامج الأصلي. يمكن لبيانات المجموعة الفرعية استخدام الحلقات أيضًا. Pythonيمكن تقسيم برنامج المتناظر إلى شرائح عكسية.
يستخدم برنامج بايثون التالي حلقة عكسية لتحديد ما إذا كانت السلسلة عبارة عن جملة متماثلة.
برنامج سلسلة Palindrome في Python رمز:
a='deed'
lena=len(a)
b=[]
for i in range(lena - 1, -1, -1):
b.append(a[i])
rev = "".join(b)
print(a + " is: ", end="")
if a == rev:
print("Palindrome")
else:
print("Not Palindrome")
الإخراج:
deed is: Palindrome
شرح الكود:
- استخدم Python يحاول الكود إضافة السلسلة الفارغة b بترتيب عكسي باستخدام طول السلسلة الرئيسية و Python وظيفة النطاق.
- يتم بعد ذلك ربط السلسلة b بالسلسلة الفارغة rev باستخدام فاصل السلسلة ".
الطريقة الثانية: برنامج Palindrome في Python باستخدام العلم
يمكن تعريف متغيرات العلم في Python لتحديد الكلمات المتناظرة. يتم تهيئة flag إلى 0. يوضح البرنامج التالي استخدام معلمة flag:
Python كود برنامج Palindrome:
Pld = "deed"
m = -1
flag = 0
for char in Pld:
if char != Pld[m]:
flag = 1
break
m = m - 1
print(Pld + " is: ", end="")
if flag:
print("Not Palindrome")
else:
print("Palindrome")
print(flag)
الإخراج:
deed is: Palindrome 0
شرح الكود:
- شار في Python يبدأ بمؤشر 0.
- منذ أن تمت تهيئة m كـ -1، تتم قراءة السلسلة من الجانب العكسي كمؤشر سلبي.
- تتحقق حلقة for مع عبارة if مما إذا كان كل حرف يبدأ بالفهرس 0 الموجود في السلسلة يتطابق مع الفهرس العكسي للسلسلة.
- ومع ذلك، إذا لم يتطابق، فسيقوم البرنامج بتهيئة العلم كـ 1؛ وإلا، فسيقوم بتهيئة العلم كـ 0.
الطريقة الثالثة: التحقق من Palindrome Python عن طريق عكس الحرف
يتم استخدام طريقة char لعكس سلسلة في برنامج الباليندرم هذا في Pythonيتم فحص السلسلة الأصلية باستخدام السلسلة العكسية لتحديد ما إذا كانت السلسلة متناظرة أم لا.
Python رمز برنامج باليندروم:
Base = "123"
reverse = ""
for char in Base:
reverse = char + reverse
print("Palindrome") if Base == reverse else print("Not Palindrome")
print("Original string is: " + str(Base))
print("reverse string is: " + str(reverse))
Base = "101"
reverse = ""
for char in Base:
reverse = char + reverse
print("Palindrome") if Base == reverse else print("Not Palindrome")
print("Original string is: " + str(Base))
print("reverse string is: " + str(reverse))
Base = "deed"
reverse = ""
for char in Base:
reverse = char + reverse
print("Palindrome") if Base == reverse else print("Not Palindrome")
print("Original string is: " + str(Base))
print("reverse string is: " + str(reverse))
الإخراج:
Not Palindrome The original string is: 123 The reverse string is: 321 Palindrome The original string is: 101 The reverse string is: 101 Palindrome The original string is: the deed The reverse string is: the deed
شرح الكود:
- Pythonتساعد الدالة str على تحويل تنسيق القيمة الرقمية إلى تنسيق سلسلة. يتحقق البرنامج أولاً مما إذا كانت القيمة 123 متناظرة أم لا.
- ثم يقوم بالتحقق من قيمة 101 وقيمة سلسلة الفعل.
- يتحقق الرمز من أن تكون القيمة متناظرة لكل من التنسيقات الرقمية والسلسلة.
الطريقة الرابعة: كيفية التحقق من Palindrome Python باستخدام مطابقة الأحرف
في طريقة المتناظرة هذه، يتحقق البرنامج مما إذا كان كل حرف في السلسلة يتطابق مع السلسلة العكسية باستخدام حلقة for، ووظيفة النطاق، ووظيفة Len.
Python رمز:
def PalindromeComparator(original):
for i in range(0, len(original)):
if original[i] != original[len(original) - i - 1]:
return False
return True
Base = "deed"
print("Palindrome") if PalindromeComparator(Base) else print("Not Palindrome")
الإخراج:
Not Palindrome
شرح الكود:
- تقوم دالة معرفة من قبل المستخدم تسمى Palindrome Comparator بالتحقق مما إذا كانت القيمة عبارة عن سلسلة أم لا.
- يقوم البرنامج بمقارنة السلسلة الأصلية وعكس السلسلة الأصلية باستخدام المعايير الأصلية[i]!= original[len(original) – i – 1].
- يستخدم البرنامج أعلاه تقنية الطول لتحديد طول السلسلة.
الطريقة الثانية: الدخول المتناظر Python باستخدام العودية
In Python، التكرار يعني أن الوظيفة تستدعي نفسها بشكل متكرر ووفقًا لمجموعة محددة من المعايير. بهذه الطريقة، يمكن تقسيم المشكلة إلى مشكلات أصغر باستخدام نفس البنية الوظيفية. باستخدام منطق البرمجة العودية، يمكن أيضًا التحقق من سلاسل المتناظرة
Python رمز:
def palcomprec(number, oppo):
if number == 0:
return oppo
remainder = int(number % 10)
oppo = (oppo * 10) + remainder
return palcomprec(int(number / 10), oppo)
Base = 12321
reverse = 0
reverse = palcomprec(Base, reverse)
print(str(Base) + " is: ", end="")
print("Palindrome") if reverse == Base else print("Not Palindrome")
الإخراج:
12321 is: Palindrome
شرح الكود:
- يستخدم البرنامج وظيفة محددة من قبل المستخدم والتي تستدعي نفسها بشكل متكرر.
- يتم تقسيم الرقم الأصلي، وتضاف قيمته المتبقية إلى القيمة المقابلة.
- يتم ضرب القيمة المقابلة في 10 أولاً قبل إضافتها إلى القيمة المتبقية.
الطريقة السادسة: كيفية استخدام while Loop للتحقق من Palindrome
تقوم حلقة while بتنفيذ التعليمات البرمجية على أساس تكراري حتى يصبح الشرط المطبق صحيحًا.
- يمكن استخدام الطريقة التكرارية للتحقق مما إذا كانت قيمة العدد الصحيح متناظرة.
- استخدم Python يستخدم البرنامج أرقامًا مؤقتة ومشغلات modulo.
Python رمز:
original = 101
temporary = original
reverse = 0
while temporary > 0:
remainder = temporary % 10
reverse = (reverse * 10) + remainder
temporary = temporary // 10
if original == reverse:
print('Palindrome')
else:
print("Not Palindrome")
الإخراج:
Palindrome
شرح الكود:
- يستخدم البرنامج حلقة زمنية تتحقق مما إذا كان الرقم المؤقت أقل من الصفر.
- يقوم عامل modulo بحساب الباقي من الرقم الأصلي.
- يتم تقسيم الرقم الأصلي على 10.
- يتم حساب المعلمة العكسية بالضرب في 10.
- تتم إضافة الرقم الناتج إلى المتبقي.
- يقوم البرنامج أعلاه بالتحقق من الرقم الأصلي والرقم العكسي لتصنيفه على أنه متناظر أم لا.
خاتمة
- Palindrome هي قيمة عند مقارنتها من الاتجاه الخلفي، ويكون الاتجاه الأمامي هو نفسه. يتم استخدامه في الألغاز الرياضية المختلفة.
- ويمكن اعتماد عدة طرق في Python لمقارنة ما إذا كانت القيمة عبارة عن جملة متماثلة أم لا. التقنيات المستخدمة هي: - التقطيع العكسي، ومطابقة الأحرف، والتكرار، واستخدام الحلقات، ووظائف rev وLen وstr، والوظائف المحددة مسبقًا، والتكرار وما إلى ذلك.

