Pythonで自然数の合計を求める3つの方法【while文・for文・sum関数】
Pythonでは、自然数の合計を求める方法がいくつかあります。この記事では、whileループ、forループ、そして組み込み関数sum()を使った3つの方法を、具体的なコード例とともにわかりやすく解説します。
方法1:whileループを使う
whileループを使用すると、変数iの値を1ずつ増やしながら、その値を累積的に加算していくことができます。以下の例では、最初の10個の自然数(1から10まで)の合計を計算しています。
s,i=0,0
n=10
while i<n:
i=i+1
s=s+i
print ("sum of first 10 natural numbers",s)
このコードでは、変数sに合計値が、変数iに現在のカウントが格納されます。iがn(10)に達するまで繰り返し処理を行い、最終的に「sum of first 10 natural numbers 55」と出力されます。
方法2:forループを使う
forループも、range()関数と組み合わせることで、一定範囲の自然数を順番に取り出し、累積的に加算することができます。
s=0
for i in range(11):
s=s+i
print ("sum of first 10 natural numbers",s)
range(11)は0から10までの整数を順に生成します。0を加算しても合計には影響しないため、これで1から10までの自然数の合計が求められます。なお、1から明示的に始めたい場合はrange(1, 11)と指定することも可能です。
方法3:組み込み関数sum()を使う
Pythonには組み込み関数sum()が用意されており、数値のシーケンス(リストやrangeオブジェクトなど)の合計をたった一行で求めることができます。最も簡潔でPythonらしい書き方です。
s=sum(range(11))
print ("sum of first 10 natural numbers",s)
まとめ
いずれの方法でも実行結果は同じく55となります。単純に合計を求めるだけであればsum()関数が最も簡潔でおすすめです。一方、ループ処理の仕組みを学習したい場合や、途中に条件分岐を挟んだ集計が必要なケースでは、while文やfor文が役立ちます。目的に応じて使い分けるとよいでしょう。
-
Pythonで配列の合計を求める方法を徹底解説
この記事では、Pythonを使って配列(リスト)の合計を求める方法について詳しく解説します。 問題文 問題: 配列が与えられたとき、その配列に含まれるすべての要素の合計を計算してください。 最も基本的なアプローチは、配列全体を走査し、各インデックスの要素を順番に加算していく方法です。ここでは、まず組み込み関数を活用したシンプルな実装例を見ていきましょう。 方法1:組み込み関数 sum() を使う Pythonには、イテラブルなオブジェクトの合計を一発で計算できる組み込み関数 sum() が用意されています。これを使えば、コードは非常に簡潔になります。 サンプルコード # 合計を求める関数 de
-
Pythonで配列(リスト)の合計を求める方法をわかりやすく解説
この記事では、配列(リスト)の合計値を求めるという問題に対して、Pythonでの解決策とアプローチをわかりやすく解説します。 問題の定義 配列が入力として与えられたとき、その配列に含まれるすべての要素の合計を計算することを目標とします。 例えば、[1, 2, 3, 4, 5] という配列が与えられた場合、出力は 15 になります。 アプローチ1:ループを使った素朴な方法(総当たり法) 最も基本的な方法は、リストを先頭から順に走査し、各要素を合計用の変数に加算していくやり方です。手順は以下の通りです。 合計を格納する変数を 0 で初期化します。 for ループでリストの各要素を取り出し、順番に