كيفية عكس السلسلة في Python (5 طرق)

السلسلة عبارة عن قائمة مرتبة أو سلسلة من الأحرف. السلاسل هي إحدى هياكل البيانات التي تأتي معها Python. بينما كنت تعمل مع سلاسل في Pythonقد ترغب في عكس جميع الأحرف. قد يكون من الجيد القيام بذلك عند بناء لعبة باليندرم.

تحتوي السلسلة المعكوسة على الحرف الأول كآخر حرف وهكذا. ومع ذلك، Python لا يأتي مع وظيفة مدمجة لعكس السلاسل، ولكنها طرق يمكنك استخدامها.

في هذا البرنامج التعليمي، سوف تتعلم طرقًا مختلفة لعكس السلسلة في Python.

طريقة 1: Revسلسلة أخرى في Python باستخدام حلقة For

الطريقة الأولى لعكس السلاسل هي استخدام حلقة for كما في مقتطف الكود أدناه:

Python رمز:

# function for reversing a string
def reverse_string(string):
    # an empty string for storing reversed string
    reversed_string = ""
    # looping through the string
    for char in string:
        # reversing the string
        reversed_string = char + reversed_string
    # returning a reversed string
    return reversed_string

# the string to reverse
string = "Guru99"
# printing a message
print(f"String Reversal using a for loop")
# printing the original string
print(f"Original String: {string}")
# making a functional call inside a print function using an f-string
print(f"Reversed String: {reverse_string(string)}")

الإخراج:

String Reversal using a for loop
Original String: Guru99
Reversed String: 99uruG

شرح الكود:

  • في مقتطف التعليمات البرمجية هذا، يمكننا استخدام عكس_سلسلة () وظيفة لعكس السلسلة مع أخذ معين سلسلة كحجة.
  • داخلها، يمكننا إنشاء سلسلة فارغة لتخزين السلسلة المعكوسة، ثم نقوم بالتكرار عبر السلسلة.
  • يتم عكس الأحرف وتعيينها إلى Reverse_string المتغير.
  • وأخيرًا، يقوم السطر الأخير في الدالة بإرجاع السلسلة المعكوسة.
  • لعرض الإخراج، يتم إجراء مكالمة وظيفية داخل طباعة() تعمل بمساعدة سلسلة f.

طريقة 2: Revسلسلة أخرى في Python باستخدام حلقة while

باستخدام أثناء التكرار Python ستكون أيضًا طريقة أخرى لعكس السلسلة. دعونا نفهم مقتطف الشفرة أدناه:

Python رمز:

# declaring a string to reverse
string = "Python"
# initializing an empty string to store the reversed string
reversed_string = ""
# printing a message
print(f"String Reversal using a while loop")
# printing the original string
print(f"Original String: {string}")
# find length of a string and store in count variable
count = len(string)
# a while loop for looping through the string characters
while count > 0:
    # save the value of str[count-1] in reversed_string
    reversed_string += string[count - 1]
    # decrementing index
    count = count - 1
print(f"Reversed String: {reversed_string}")

الإخراج:

String Reversal using a while loop
Original String: Python
Reversed String: nohtyP

شرح الكود:

  • في هذا Python في الكود، نقوم بإعلان سلسلة ليتم عكسها، ثم سلسلة فارغة لتخزين السلسلة المعكوسة.
  • نقوم بعد ذلك بإيجاد طول السلسلة المخصص لـ عد المتغير.
  • إنّ سلسلة [العدد – 1] في كل تكرار يسترد أحرف السلسلة من الأخير إلى الأول.
  • ويربطهم بها Reverse_string ومن ثم يتناقص عد .
  • وأخيرًا، نقوم بطباعة السلسلة المعكوسة.

طريقة 3: Python Revإرس سلسلة باستخدام القطاعة Operaتور

طريقة أخرى لعكس السلسلة هي استخدام عامل التقطيع، وللتعرف على ذلك، راجع الكود أدناه:

Python رمز:

# function to reverse a string
def reverse(string):
    # the  slice syntax
    reversed_string = string[::-1]
    return reversed_string

# declaring a string to reverse
string = "Let's guru99"
# printing a message
print(f"String Reversal using Slicer Operator")
# printing the original string
print(f"Original String: {string}")
# making a functional call inside a print function using an f-string
print(f"Reversed String: {reverse(string)}")

الإخراج:

String Reversal using Slicer Operator
Original String: Let's guru99
Reversed String: 99urug s'teL

شرح الكود:

  • لخلق عكس () الوظيفة التي تأخذ سلسلة كحجة، داخله
  • في هذا المثال ، لدينا ملف سلسلة [::-1] عامل شريحة لعكس سلسلة
  • ثم يتم تعيين السلسلة المعكوسة لمتغير جديد يسمى Reverse_string
  • وأخيراً، يتم إرجاع السلسلة المعكوسة الجديدة

طريقة 4: Revإدخال سلسلة في Python استخدام الدالة reversed()

يمكننا أيضًا عكس سلسلة باستخدام a عكس () Python الدالة، فإن الكود سيبدو كما يلي:

Python مثال رمز:

# function to reverse a string
def reverse(string):
    # reversed() function inside the join() function
    string = "".join(reversed(string))
    # returning the reversed string
    return string

# declaring a string to reverse
string = "guru99"
# printing a message
print(f"String Reversal using reversed() function")
# printing the original string
print(f"Original String: {string}")
# making a functional call inside a print function using an f-string
print(f"Reversed String: {reverse(string)}")

الإخراج:

String Reversal using reversed() function
Original String: guru99
Reversed String: 99urug

شرح الكود:

  • في هذا الكود لدينا عكس () الدالة التي تكون حجتها a سلسلة.
  • بداخله، قمنا بتهيئة سلسلة فارغة.
  • نحن نسلسلها مع إخراج عكس (سلسلة) يستخدم ال انضم() وظيفة.
  • خارج عكس () دالة، لقد أعلنا عن سلسلة لعكسها، ثم نقوم بطباعة السلسلة الأصلية والسلسلة المعكوسة.

طريقة 5: Python Reverse سلسلة باستخدام العودية

تعني كلمة Recursion دالة محددة تستدعي نفسها. ويقال عن الدالة التكرارية أنها متكررة عندما تستدعي نفسها. لفهمها بشكل أفضل، انظر إلى مثال التعليمات البرمجية التالي:

Python رمز:

# a function to reverse a string
def reverse(string):
    # Checking the length of string
    if len(string) == 0:
        return string
    # reversing string if len(string) != 0
    else:
        # recursively calling the reverse() function
        return reverse(string[1:]) + string[0]

# declaring a string to reverse
string = "I love guru99"
# printing a message
print(f"String Reversal using Recursion")
# printing the original string
print(f"Original String: {string}")
# making a functional call inside a print function using an f-string
print(f"Reversed String: {reverse(string)}")

الإخراج:

String Reversal using Recursion
Original String: I love guru99
Reversed String: 99urug evol I

شرح الكود:

  • في الكود أعلاه، أعلنا أ يعكس () الوظيفة التي تأخذ سلسلة كوسيطة، نص الدالة هو لو غير ذلك بيان.
  • إنّ if تتحقق العبارة مما إذا كان طول السلسلة يعادل 0 وترجع السلسلة، في حين أن آخر بيان يدعو عكس () تعمل بشكل متكرر، وتقطع الفهرس الأخير للسلسلة، وتضيفه إلى البداية.

وفي الختام

  • هذه Python البرنامج التعليمي لقد قام بإرشادك خلال عملية عكس الأوتار باستخدام طرق مختلفة في Python.
  • يمكننا استخدام الدالة Reverse_string()‎ لعكس السلسلة مع أخذ سلسلة معينة كوسيطة.
  • يمكنك أيضًا استخدام "حلقة for and while" للتحريك العكسي.
  • يمكنك مقاضاة الوظيفة المعكوسة التي تأخذ سلسلة كوسيطة.
  • عند اختيار هذه الأساليب، يجب أن تأخذ في الاعتبار أدائها كأحد العوامل.