特殊な数列の和

PythonPythonBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

このプロジェクトでは、特定の数列の最初の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
nの値を入力してください: 6
特殊な数列の和: 10.00705

$ python3 sum_fib.py
nの値を入力してください: 20
特殊な数列の和: 32.66026

$ python3 sum_fib.py
nの値を入力してください: 45
特殊な数列の和: 73.11111

🎯 タスク

このプロジェクトでは、以下のことを学びます。

  • プロジェクトの問題文と要件を理解する方法
  • 数列の最初のN項の和を計算するためのsum_fib関数を実装する方法
  • sum_fib.pyスクリプトを実行してsum_fib関数をテストする方法
  • sum_fib関数とその背後にあるフィボナッチ数列の論理を説明する方法

🏆 成果

このプロジェクトを完了すると、以下のことができるようになります。

  • 数列や数学的な数列に関する問題を理解して解決すること
  • 複雑な数列の計算を行う関数を実装すること
  • コードをテストして検証し、プロジェクト要件を満たすこと
  • 自分の解決策の背後にある論理と基礎となる数学的概念を説明すること

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/PythonStandardLibraryGroup(["Python Standard Library"]) python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/ControlFlowGroup(["Control Flow"]) python(("Python")) -.-> python/FunctionsGroup(["Functions"]) 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.pyファイル内のsum_fib関数を完成させて、最初のN項の和を計算する。
  2. 出力結果を小数点以下5桁で四捨五入する。

sum_fib関数を実装する

このステップでは、与えられた数列の最初のN項の和を計算するためのsum_fib関数を実装します。

  1. /home/labex/projectディレクトリにあるsum_fib.pyファイルを開きます。
  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を入力として受け取ります。この関数は、数列の最初の2項でnumeratordenominator変数を初期化し、その後n回反復して、現在のnumeratordenominatorの比をtotal変数に加算します。最後に、関数は丸めたtotalを小数点以下5桁で返します。

sum_fib関数をテストする

このステップでは、sum_fib.pyスクリプトを実行して異なるnの値を提供することでsum_fib関数をテストします。

  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. スクリプトは、小数点以下5桁で丸めた数列の最初の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でさらに多くの実験を行って練習してください。