Python における階乗の計算

PythonPythonBeginner
オンラインで実践に進む

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

はじめに

このプロジェクトでは、非負整数の階乗を計算する方法を学びます。正整数の階乗は、それ以下または等しいすべての正整数の積であり、0 の階乗は 1 です。

👀 プレビュー

$ python factorial.py
2! = 1 * 2 = 2
8! = 1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 = 40320

🎯 タスク

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

  • ~/project ディレクトリに factorial.py ファイルを作成する方法
  • 非負整数の階乗を計算するための factorial 関数を実装する方法
  • 負の入力を処理して ValueError を発生させ、「非負整数を入力してください」というメッセージを表示する方法

🏆 成果

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

  • 階乗の概念とその計算方法を理解する
  • 非負整数の階乗を計算する Python 関数を書く
  • 入力エラーを処理し、適切なエラーメッセージを表示する
  • Python プログラミングの知識を適用して、現実世界の問題を解決する

factorial.py ファイルを作成する

このステップでは、~/project ディレクトリに factorial.py ファイルを作成します。以下の手順に従ってこのステップを完了しましょう。

  1. 新しいファイルを作成し、~/project ディレクトリに factorial.py として保存します。
cd ~/project
touch factorial.py
  1. factorial.py ファイルに、以下のコードを追加します。
def factorial(n):
    """
    非負整数の階乗を計算します。

    引数:
        n (int): 階乗を計算する非負整数。

    戻り値:
        str: 入力整数の階乗を "{n}! = {factors_str} = {result}" の形式で返します。

    例外:
        ValueError: 入力整数が負の場合。
    """
    ## ここにコードを追加してください

これは、次のステップで実装する factorial 関数の起点となります。

factorial 関数を実装する

このステップでは、factorial.py ファイルに factorial 関数を実装します。以下の手順に従ってこのステップを完了しましょう。

  1. factorial.py ファイルで、## Add your code here コメントを以下のコードに置き換えます。
def factorial(n):
    """
    非負整数の階乗を計算します。

    引数:
        n (int): 階乗を計算する非負整数。

    戻り値:
        str: 入力整数の階乗を "{n}! = {factors_str} = {result}" の形式で返します。

    例外:
        ValueError: 入力整数が負の場合。
    """
    if n < 0:
        raise ValueError("Please enter a non-negative integer.")
    elif n == 0:
        return "0! = 1"
    else:
        result = 1
        factors = []
        for i in range(1, n + 1):
            result *= i
            factors.append(str(i))
        factors_str = " * ".join(factors)
        return f"{n}! = {factors_str} = {result}"

## 部分的なサンプル出力:
print(factorial(2))
print(factorial(8))

このコードは、非負整数の階乗を計算する機能を実装しています。負の入力の場合には ValueError を発生させて処理し、0 の場合には "0! = 1" を返します。その他の非負整数の場合には、1 から入力数までのすべての数を掛け合わせて階乗を計算し、望ましい形式で結果を返します。

  1. factorial.py ファイルを保存します。

あなたの factorial.py ファイルは現在完成しており、任意の非負整数の階乗を計算するために factorial 関数を使用できます。

  1. 実装をテストするには、ターミナルで以下のコマンドを実行します。
$ python factorial.py
2! = 1 * 2 = 2
8! = 1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 = 40320
✨ 解答を確認して練習

まとめ

おめでとうございます!このプロジェクトを完了しました。あなたは実験技術を向上させるために LabEx でさらに多くの実験を行うことができます。