Pythonを用いて数値のリストの合計値が一定の値以上かどうかを判定するプログラムを作成する

スポンサーリンク

Pythonのクラスとメソッドを用いて数値のリストの合計値が一定の値以上かどうかを判定するプログラムを作成してみます。

■Python

Google Colaboratory(Google Colab),2023年3月18日時点ではPython 3.9.16が用いられる。

■クラスとメソッドを用いて数値のリストの合計値が一定の値以上かどうかを判定するプログラムの作成

では、早速クラスとメソッドを用いて数値のリストの合計値が一定の値以上かどうかを判定するプログラムの作成するために、コードを書いていきます。

■コード

class NumberList:
  def __init__(self, numbers):
    self.numbers = numbers
  def get_sum(self):
    total = sum(self.numbers)
    if total >= 100:
      return "合計値は100以上です"
    else:
      return "合計値は100未満です"
      
my_numbers = NumberList([10, 20, 30, 40])
print(my_numbers.get_sum())

NumberListというオブジェクトを作成するためのテンプレート(設計図)であるクラスを定義します。定義後、クラス内にdef文を用いて’__init__’と記述し、コンストラクタを使います。括弧内には、メソッドで渡される最初の引数,パラメータは、インスタンス(作成されたオブジェクト)自体でなければならないため、「self(自己)」と記述し、最初の引数として渡します。次に第2の引数,パラメータとしてnumbersを設定します。なお、最初の「self(自己)」という引数,パラメータを介して、「numbers」というクラスのインスタンス変数が初期化されます。この時にself(自己)に対してドット演算子( . )を用いてnumbersを指定します。

次にdef文を用いてget_sum()というメソッドを定義します。括弧内には、メソッドで渡される最初の引数,パラメータは、インスタンス(作成されたオブジェクト)自体でなければならないため、「self(自己)」と記述し、最初の引数として渡します。このメソッドが呼び出された時の処理として、totalという変数を定義し、その中でsum()を用います。これで合計値を求めることができますので、括弧内に引数,パラメータとして、「self.numbers」を渡します。これでインスタンスの属性として保存されている数値のリストを参照し渡すことができる。そしてif文を記述し比較演算子”>=”を用いて、total変数が「100以上」であるという条件を指定。指定により、大きいか等しい場合に真(True)を返し、returnも返す。それ以外の場合には偽(False)を返し、この時にelse節のreturnを返すという処理を記述します。

メソッドを定義後、my_numbersという変数を定義し、その中にNumberList()を格納し、インスタンス化を行います。インスタンス化によりオブジェクトが作成されたことで、クラス内にアクセスできるようになりました。インスタンス化された後に、括弧内に引数,パラメータとして角括弧”[ ]”を用いてリストを定義し中に数値を格納し渡します。

最後に作成したオブジェクトであるcalculatorに対してドット演算子( . )を用いてget_sum()を呼び出します。呼び出されたメソッドの処理が実行し、実行された結果が返されます。返された結果をprint()で出力します。

■実行・検証

このコード(セル)を保存し、Google Colaboratory上で、セルを実行してみます。

実行してみると、get_sum()を呼び出され、数値のリストの合計値が一定の値以上かどうかを判定。判定後、結果を出力させることができました。なお、今回引数,パラメータとして渡した数値のリストは合計で100以上の数値なので、「合計値は100以上です」と出力される。

コメント

タイトルとURLをコピーしました