اذهب إلى المحتوى
  • 0

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

TheBrain

السؤال

Recommended Posts

  • 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
رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
#سطر تعريف الدالة
def fipo (m):
    # اذا تم ادخال عدد كسري يتم تحويله لأصغر عدد صحيح
    n = int(m)
    # مصفوفة الحل , تحوي العددين الاولين في المتسلسلة تلقائيا
    l = [0,1]
    # تطبيق الامر على حسب مقدار الاعداد الذي يتم تحديده
    # لن يتم تنفيذ اي شيء اذا ادخل المستخدم عدد سالب
    for x in range(n):
        # مفهوم المتسلسلة الرياضي
        f = l[x] + l[x+1]
        # اضافة الحل لمصفوفة الحلول
        l.append(f)
    # ارجاع المصفوفة كنتيجة للدالة مع حذف اول عنصريين
    return l[2:]
# سطر الاستدعاء و الطباعة
# يتم كتابة الرقم المطلوب عوضاً عن n
print(fipo(n))

النتيجة :

# عند ادخال 8
[1, 2, 3, 5, 8, 13, 21, 34]

# عند ادخال -8
[]

# عند ادخال 8.7
[1, 2, 3, 5, 8, 13, 21, 34]

اجمالي عدد الاسطر : 8

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...