تكرار دالة بايثون
العودية
تقبل Python أيضًا تكرار الوظيفة ، مما يعني أن الوظيفة المحددة يمكنها استدعاء نفسها.
التكرار هو مفهوم رياضي وبرمجي شائع. هذا يعني أن الوظيفة تستدعي نفسها. هذا له فائدة بمعنى أنه يمكنك تكرار البيانات للوصول إلى نتيجة.
يجب أن يكون المطور حريصًا جدًا في التعامل مع العودية حيث يمكن أن يكون من السهل جدًا الانزلاق إلى كتابة وظيفة لا تنتهي أبدًا ، أو وظيفة تستخدم كميات زائدة من الذاكرة أو طاقة المعالج. ومع ذلك ، عند كتابة العودية بشكل صحيح ، يمكن أن تكون طريقة فعالة للغاية وأنيقة من الناحية الحسابية للبرمجة.
في هذا المثال ، tri_recursion () هي دالة قمنا بتعريفها لتسمي نفسها ("recurse"). نستخدم المتغير k على أنها البيانات ، والتي تنخفض ( -1 ) في كل مرة نتكرر فيها. ينتهي العودية عندما لا يكون الشرط أكبر من 0 (أي عندما يكون 0).
بالنسبة للمطور الجديد ، قد يستغرق الأمر بعض الوقت لمعرفة كيفية عمل ذلك بالضبط ، وأفضل طريقة لمعرفة ذلك هي اختباره وتعديله.
مثال
مثال العودية
def tri_recursion(k):
if(k>0):
result = k+tri_recursion(k-1)
print(result)
else:
result = 0
return result
print("\n\nRecursion Example Results")
tri_recursion(6)