• 0

كيف أكتب تسلسل فيبوناتشي في بايثون؟

أحتاج إلى كتابة برنامج يأخذ قيمتين من المستخدم ويرجع تسلسل أعداد فيبوناتشي ما بين القيمتين، فما الطريقة الصحيحة لفعل ذلك في بايثون؟

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

سندور حول القيم المحصورة بين القيمتين التي قدمها لنا المستخدم لكن في البداية سننشئ دالة لاختبار الأرقام التي سندور عليها فإذا كان العدد يساوي صفر فسيتم إرجاع 0 وإذا كان 1 فسيتم إرجاع 1 وفي حالة كان العدد غير الرقمين السابقين فإن الدالة ستقوم بعملية F(n-1)+F(n-2) كما تظهر في المثال التالي:

def F(n):
    if n == 0: return 0
    elif n == 1: return 1
    else: return F(n-1)+F(n-2)

وكما قلنا سابقا بأننا نريد حصر القيم بين العددين الذي قدمها لنا المستخدم ولذلك سننشئ دالة أخرى للدوران والحصر كما في المثال التالي:

def SubFib(startNumber, endNumber):
    for cur in F():
        if cur > endNumber: return
        if cur >= startNumber:
            yield cur

for i in SubFib(10, 200):
    print i

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن