• 1
    إدخال وإخراج البيانات
    • المهام
  • 2
    الشروط
    • المهام
  • 3
    حلقة for
    • المهام
  • 4
    السلاسل النصية
    • المهام
  • 5
    حلقة while
    • المهام
  • 6
    القوائم
    • المهام
  • 7
    مصفوفات ثنائية الأبعاد
    • المهام
  • 8
    القواميس
    • المهام
  • 9
    المجموعات
    • المهام
  • 10
    الدوال والتكرار
    • المهام
  • к

درس 5. While cycle

الصعوبة:

иконка человека красный иконка человека белая иконка человека зеленая Pythonlib

مسألة«حساب عدد فيبوناتشي»

💻 Python

أنت & mdash; باحث في عالم الخيال تدرس البلورات السحرية. لقد اكتشفت أن هذه البلورات تنمو وفقًا لقانون خاص يشبه إلى حد كبير تسلسلًا رياضيًا قديمًا.

  • في البداية (الشهر صفر) لا تملك أي بلورة كاملة، فقط غبار سحري. النتيجة للشهر 0 هي 0.
  • بحلول نهاية الشهر الأول، تتكون بلورة واحدة من الغبار. النتيجة للشهر 1 هي 1.
  • بحلول نهاية كل شهر تالٍ، يصبح عدد البلورات مساويًا لمجموع البلورات في الشهرين السابقين.

تحتاج إلى كتابة برنامج يساعدك في توقع نمو البلورات. يجب أن يطلب البرنامج من المستخدم رقم الشهر & nbsp; n & nbsp; ويحسب عدد البلورات الكاملة التي ستمتلكها بحلول نهاية هذا الشهر.

المتطلبات الفنية:

  1. يجب أن يطلب البرنامج عددًا صحيحًا واحدًا & nbsp; n & nbsp; & mdash; رقم الشهر.
  2. يجب إجراء الحساب باستخدام & nbsp; حلقة & nbsp; while .
  3. يجب أن يعالج البرنامج الحالات الخاصة بشكل صحيح: & nbsp; n = 0 & nbsp; و & nbsp; n = 1 .
  4. إذا أدخل المستخدم رقمًا سالبًا أو نصًا بدلاً من الرقم، يجب أن يعرض البرنامج رسالة خطأ: & nbsp; "Error: entered incorrect value."
  5. يجب عرض النتيجة بالتنسيق: & nbsp; "The Fibonacci number for n = [month] equals: [result]"

& nbsp;

تنسيق الإدخال

رقم الشهر & nbsp; n للحساب (عدد صحيح غير سالب).

تنسيق الإخراج

العدد النهائي من البلورات (رقم فيبوناتشي) في شكل سطر منسق أو رسالة خطأ (سطر).

مثال

إدخال

10

إخراج

رقم فيبوناتشي لـ n = 10 هو: 55

تلميح

There will be no clue here, decide for yourself!

main.py
اختبار 1
اختبار 2
اختبار 3
اختبار 4
اختبار 5
اختبار 6
اختبار 7
اختبار 8
اختبار 9
اختبار 10
حل المطور
# Запрашиваем у пользователя номер месяца в виде строки
n_str = input()

# Проверяем, состоит ли введенная строка только из цифр
if not n_str.isdigit():
    # Если нет, выводим сообщение об ошибке
    print("Ошибка: введено некорректное значение.")
else:
    # Преобразуем строку в целое число
    n = int(n_str)

    # Обрабатываем базовые случаи n=0 и n=1
    if n == 0:
        # Для 0-го месяца результат 0
        result = 0
        print(f"Число Фибоначчи для n = {n} равно: {result}")
    elif n == 1:
        # Для 1-го месяца результат 1
        result = 1
        print(f"Число Фибоначчи для n = {n} равно: {result}")
    else:
        # Инициализируем первые два числа последовательности
        a, b = 0, 1
        # Инициализируем счетчик, начинаем со второго числа, так как 0 и 1 уже есть
        count = 1

        # Запускаем цикл, который будет работать, пока мы не достигнем нужного месяца n
        while count < n:
            # Вычисляем следующее число Фибоначчи
            # a становится b, а b становится суммой старых a и b
            a, b = b, a + b
            # Увеличиваем счетчик на 1
            count += 1
        
        # После завершения цикла в переменной 'b' находится n-ое число Фибоначчи
        result = b
        print(f"Число Фибоначчи для n = {n} равно: {result}")

🎉 تهانينا! 🎉

لقد حللت المهمة ببراعة! كان صعبًا لكنك وجدت الحل الصحيح. أنت خطوة أقرب إلى الاحتراف! استمر، كل مرحلة تجعلك أقوى.

AD

إعلان

red-snake blue-snake green-snake

جارٍ تشغيل الكود...

مساعد الذكاء الاصطناعي

مرحباً! أنا مساعدك في البرمجة. اسألني أي شيء عن Python — يمكنني شرح الدوال والطرق ومساعدتك في المهمة الحالية!