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

السؤال

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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...