TheBrain نشر 11 يناير 2016 أرسل تقرير نشر 11 يناير 2016 أحتاج إلى كتابة برنامج يأخذ قيمتين من المستخدم ويرجع تسلسل أعداد فيبوناتشي ما بين القيمتين، فما الطريقة الصحيحة لفعل ذلك في بايثون؟ اقتباس
0 هشام رزق الله نشر 11 يناير 2016 أرسل تقرير نشر 11 يناير 2016 سندور حول القيم المحصورة بين القيمتين التي قدمها لنا المستخدم لكن في البداية سننشئ دالة لاختبار الأرقام التي سندور عليها فإذا كان العدد يساوي صفر فسيتم إرجاع 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 مصطفى بيطار نشر 15 أبريل 2021 أرسل تقرير نشر 15 أبريل 2021 #سطر تعريف الدالة 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 اقتباس
السؤال
TheBrain
أحتاج إلى كتابة برنامج يأخذ قيمتين من المستخدم ويرجع تسلسل أعداد فيبوناتشي ما بين القيمتين، فما الطريقة الصحيحة لفعل ذلك في بايثون؟
3 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.