Сумма особого числового ряда

PythonPythonBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом проекте вы научитесь вычислять сумму первых N (N >= 6) членов особого числового ряда. Этот ряд определяется следующим паттерном:

\frac{2}{1} + \frac{3}{2} + \frac{5}{3} + \frac{8}{5} + \frac{13}{8} + \frac{21}{13} +...

Числители этого ряда - это числа Фибоначчи (2, 3, 5, 8, 13, 21,...), а знаменатели также являются числами Фибоначчи (1, 2, 3, 5, 8, 13,...).

👀 Предварительный просмотр

$ python3 sum_fib.py
Enter the value of n: 6
Sum of the special series: 10.00705

$ python3 sum_fib.py
Enter the value of n: 20
Sum of the special series: 32.66026

$ python3 sum_fib.py
Enter the value of n: 45
Sum of the special series: 73.11111

🎯 Задачи

В этом проекте вы научитесь:

  • Как понять постановку задачи и требования проекта
  • Как реализовать функцию sum_fib для вычисления суммы первых N членов числового ряда
  • Как протестировать функцию sum_fib, запустив скрипт sum_fib.py
  • Как объяснить логику за функцией sum_fib и основанный на ней числовой ряд Фибоначчи

🏆 Достижения

После завершения этого проекта вы сможете:

  • Разбираться и решать задачи, связанные с числовыми рядами и математическими последовательностями
  • Реализовывать функции для выполнения вычислений над сложными числовыми рядами
  • Тестировать и проверять свой код, чтобы убедиться, что он соответствует требованиям проекта
  • Объяснять логику своих решений и основанные на них математические концепции

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/ControlFlowGroup(["Control Flow"]) python(("Python")) -.-> python/FunctionsGroup(["Functions"]) python(("Python")) -.-> python/PythonStandardLibraryGroup(["Python Standard Library"]) python/BasicConceptsGroup -.-> python/variables_data_types("Variables and Data Types") python/BasicConceptsGroup -.-> python/numeric_types("Numeric Types") python/ControlFlowGroup -.-> python/conditional_statements("Conditional Statements") python/ControlFlowGroup -.-> python/for_loops("For Loops") python/FunctionsGroup -.-> python/function_definition("Function Definition") python/PythonStandardLibraryGroup -.-> python/math_random("Math and Random") subgraph Lab Skills python/variables_data_types -.-> lab-302776{{"Сумма особого числового ряда"}} python/numeric_types -.-> lab-302776{{"Сумма особого числового ряда"}} python/conditional_statements -.-> lab-302776{{"Сумма особого числового ряда"}} python/for_loops -.-> lab-302776{{"Сумма особого числового ряда"}} python/function_definition -.-> lab-302776{{"Сумма особого числового ряда"}} python/math_random -.-> lab-302776{{"Сумма особого числового ряда"}} end

Разберитесь с задачей

В этом шаге вы узнаете о постановке задачи и требованиях проекта.

Задача - вычислить сумму первых N (N >= 6) членов следующего числового ряда:

\frac{2}{1} + \frac{3}{2} + \frac{5}{3} + \frac{8}{5} + \frac{13}{8} + \frac{21}{13} +...

Требования:

  1. Завершите функцию sum_fib в файле sum_fib.py для вычисления суммы первых N членов.
  2. Результат вывода должен быть округлен до пяти знаков после запятой.

Реализуйте функцию sum_fib

В этом шаге вы реализуете функцию sum_fib для вычисления суммы первых N членов заданного числового ряда.

  1. Откройте файл sum_fib.py, расположенный в директории /home/labex/project.
  2. Реализуйте функцию sum_fib следующим образом:
def sum_fib(n):
    if n <= 0:
        return 0.0

    numerator = 2
    denominator = 1
    total = 0.0

    for _ in range(n):
        total += numerator / denominator
        numerator, denominator = numerator + denominator, numerator

    return round(total, 5)

Функция sum_fib принимает целое число n в качестве входных данных, которое представляет количество членов, сумма которых должна быть вычислена. Функция инициализирует переменные numerator и denominator первыми двумя членами ряда, а затем выполняет итерацию n раз, добавляя отношение текущего numerator и denominator к переменной total. Наконец, функция возвращает округленное до пяти знаков после запятой значение total.

Протестируйте функцию sum_fib

В этом шаге вы протестируете функцию sum_fib, запустив скрипт sum_fib.py и указав разные значения n.

  1. В конце файла sum_fib.py добавьте следующий код для тестирования реализации:
if __name__ == "__main__":
    n = int(input("Enter the value of n: "))
    result = sum_fib(n)
    print("Sum of the special series:", result)
  1. Откройте терминал и перейдите в директорию /home/labex/project.
  2. Запустите скрипт sum_fib.py с помощью следующей команды:
python3 sum_fib.py
  1. При появлении запроса введите значение n (например, 6, 20, 45) и нажмите Enter.
  2. Скрипт выведет сумму первых n членов числового ряда, округленную до пяти знаков после запятой.

Пример вывода:

Enter the value of n: 6
Sum of the special series: 10.00705

Enter the value of n: 20
Sum of the special series: 32.66026

Enter the value of n: 45
Sum of the special series: 73.11111

Проверьте, совпадает ли вывод с ожидаемыми результатами.

Поздравляем! Вы успешно завершили проект "Сумма особого числового ряда".

✨ Проверить решение и практиковаться

Резюме

Поздравляем! Вы завершили этот проект. Вы можете практиковаться в более многих лабораторных работах в LabEx, чтобы улучшить свои навыки.