Python初心者必見!for文を使った合計の計算法10選

Python初心者がfor文で合計を計算する方法を学ぶPython
この記事は約13分で読めます。

 

【サイト内のコードはご自由に個人利用・商用利用いただけます】

この記事では、プログラムの基礎知識を前提に話を進めています。

説明のためのコードや、サンプルコードもありますので、もちろん初心者でも理解できるように表現してあります。

基本的な知識があればカスタムコードを使って機能追加、目的を達成できるように作ってあります。

※この記事は、一般的にプロフェッショナルの指標とされる『実務経験10,000時間以上』を凌駕する現役のプログラマチームによって監修されています。

サイト内のコードを共有する場合は、参照元として引用して下さいますと幸いです

※Japanシーモアは、常に解説内容のわかりやすさや記事の品質に注力しております。不具合、分かりにくい説明や不適切な表現、動かないコードなど気になることがございましたら、記事の品質向上の為にお問い合わせフォームにてご共有いただけますと幸いです。
(送信された情報は、プライバシーポリシーのもと、厳正に取扱い、処分させていただきます。)

はじめに

Pythonという言語はあらゆることが可能なツールです。

一方で、その中心には基本的なループの仕組みが存在し、それが「for文」です。

この記事では、Pythonでfor文を使った合計の計算法を10通り解説します。

初心者でも理解しやすいようにサンプルコードを豊富に用意しました。

記事を読めばPythonでの計算がすぐにできるようになります!

●Pythonとは

Pythonは、コードが読みやすく、明確であることを目指して設計された汎用の高レベル言語です。

そのため、初心者でも学びやすく、さまざまな分野で使用されています。

●for文の基本

○for文の構文

Pythonのfor文は次のように構成されています。

for 変数 in シーケンス:
    処理

ここで、シーケンスとはリストや文字列など、複数の要素を順番に取り出せるデータのことを指します。

○for文の動作

for文はシーケンスの要素を先頭から順番に取り出し、それぞれについて処理を行います。

例えば次のコードでは、リストの各要素を順に出力します。

numbers = [1, 2, 3, 4, 5]
for num in numbers:
    print(num)

このコードを実行すると、”1″から”5″までの数字が順番に出力されます。

●for文を使った合計の計算方法10選

これから、for文を使ったさまざまな計算方法をご紹介します。

これらの方法を理解し、適切に利用することで、Pythonの計算力を十分に活用することができます。

○サンプルコード1:リストの合計

最初に紹介するのは、リストの要素の合計を求める最も基本的な方法です。

リストの全ての要素を順番に足し合わせることで、合計値を求めます。

numbers = [1, 2, 3, 4, 5]
total = 0
for num in numbers:
    total += num
print(total)

このコードでは、変数totalにリストnumbersの各要素を足し合わせています。

結果として”15″が出力されます。

○サンプルコード2:辞書の値の合計

次に、辞書の値の合計を求める方法を紹介します。

辞書の各要素(キーと値のペア)に対してfor文を実行し、値を合計します。

data = {'apple': 10, 'banana': 20, 'cherry': 30}
total = 0
for key in data:
    total += data[key]
print(total)

このコードでは、辞書dataの全ての値を合計しています。

結果として”60″が出力されます。

これらの例を参考に、自分の必要に応じてfor文を使った計算を活用してください。

Pythonのfor文は非常に強力で、さまざまな場面で使うことができます。

○サンプルコード3:二次元リストの各行の合計

Pythonで二次元リストの各行の合計を計算する方法を解説します。

この例ではfor文を使ってリストの各行を走査し、行の合計を計算しています。

# 二次元リストを定義します
numbers = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

# 各行の合計を格納するリストを初期化します
totals = []

# for文でリストを走査します
for row in numbers:
    # 行の合計を計算しリストに追加します
    totals.append(sum(row))

# 各行の合計を出力します
print(totals)

このコードを実行すると、出力結果は [6, 15, 24] となります。

これは、それぞれの行([1, 2, 3], [4, 5, 6], [7, 8, 9])の合計を計算した結果です。

○サンプルコード4:条件を満たす要素の合計

次に、リストの中から特定の条件を満たす要素のみを合計する方法を解説します。

この例では、リストの要素が偶数である場合のみ合計に加えるという条件を設定しています。

# リストを定義します
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

# 条件を満たす要素の合計を計算します
total = sum(num for num in numbers if num % 2 == 0)

# 合計を出力します
print(total)

このコードを実行すると、出力結果は 30 となります。

これは、リストの偶数要素(2, 4, 6, 8, 10)の合計です。

○サンプルコード5:文字列の長さの合計

Pythonでは、文字列もfor文を使って走査することができます。

この例では、リストに格納された複数の文字列の長さの合計を計算します。

# 文字列のリストを定義します
words = ["Python", "初心者", "for文", "合計", "計算法"]

# 文字列の長さの合計を計算します
total = sum(len(word) for word in words)

# 合計を出力します
print(total)

このコードを実行すると、出力結果は 20 となります。

これは、各文字列(”Python”, “初心者”, “for文”, “合計”, “計算法”)の長さを合計した結果です。

○サンプルコード6:特定の属性を持つオブジェクトの合計

Pythonはオブジェクト指向プログラミング言語であり、その特性を活かすことで特定の属性を持つオブジェクトの合計を計算することが可能です。

この例では、人間を表すオブジェクトを生成し、それらの年齢を合計しています。

# 人間を表すクラスを定義します
class Person:
    def __init__(self, age):
        self.age = age

# Personオブジェクトのリストを作成します
people = [Person(20), Person(30), Person(40)]

# 各Personオブジェクトの年齢を合計します
total_age = sum(person.age for person in people)

# 合計年齢を出力します
print(total_age)

このコードを実行すると、出力結果は 90 となります。

これは、Personオブジェクトそれぞれの年齢(20, 30, 40)を合計した結果です。

○サンプルコード7:リストの要素を特定の関数に適用した結果の合計

次に、リストの各要素に特定の関数を適用した結果の合計を計算する方法を解説します。

この例では、リストの各要素を二乗する関数を適用し、その結果の合計を計算しています。

# リストを定義します
numbers = [1, 2, 3, 4, 5]

# 各要素を二乗する関数を定義します
def square(n):
    return n ** 2

# 各要素を二乗した結果の合計を計算します
total = sum(square(num) for num in numbers)

# 合計を出力します
print(total)

このコードを実行すると、出力結果は 55 となります。

これは、各要素(1, 2, 3, 4, 5)を二乗した結果の合計(1, 4, 9, 16, 25)です。

○サンプルコード8:2つのリストの要素をペアにして合計

2つのリストの同じ位置にある要素同士をペアにして合計する方法も便利な時があります。

この例では、それぞれのリストの要素をペアにし、それらの合計を計算しています。

# 2つのリストを定義します
numbers1 = [1, 2, 3, 4, 5]
numbers2 = [6, 7, 8, 9, 10]

# 同じ位置の要素をペアにして合計します
totals = [a + b for a, b in zip(numbers1, numbers2)]

# 各ペアの合計を出力します
print(totals)

このコードを実行すると、出力結果は [7, 9, 11, 13, 15] となります。

これは、それぞれのリスト([1, 2, 3, 4, 5][6, 7, 8, 9, 10])の同じ位置にある要素をペアにして合計した結果です。

○サンプルコード9:リストの偶数位置の要素の合計

次に、リストの偶数位置(0を基準としたインデックス)にある要素の合計を計算する方法を見ていきましょう。

この例では、for文と組み込み関数のenumerateを使って偶数位置の要素を選択し、それらを合計しています。

# リストを定義します
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

# 偶数位置の要素の合計を計算します
total = sum(num for i, num in enumerate(numbers) if i % 2 == 0)

# 合計を出力します
print(total)

このコードを実行すると、出力結果は 25 となります。

これは、リストの偶数位置(0, 2, 4, 6, 8)にある要素(1, 3, 5, 7, 9)を合計した結果です。

○サンプルコード10:リストの奇数位置の要素の合計

同様に、リストの奇数位置(0を基準としたインデックス)にある要素の合計も計算できます。

この例でも、for文と組み込み関数のenumerateを使って奇数位置の要素を選択し、それらを合計しています。

# リストを定義します
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

# 奇数位置の要素の合計を計算します
total = sum(num for i, num in enumerate(numbers) if i % 2 != 0)

# 合計を出力します
print(total)

このコードを実行すると、出力結果は 30 となります。

これは、リストの奇数位置(1, 3, 5, 7, 9)にある要素(2, 4, 6, 8, 10)を合計した結果です。

●for文の応用例

for文はその特性を活かし、さまざまな場面で応用可能です。

その一つとして、平均値の計算や条件に応じた要素のカウントが挙げられます。

○サンプルコード11:平均値の計算

次に、Pythonのfor文を用いてリスト内の数値の平均値を計算するコードを紹介します。

この例では、まず合計を計算し、その後に要素の数で割ることで平均値を求めています。

# リストを定義します
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

# 合計を計算します
total = sum(numbers)

# 要素の数を計算します
count = len(numbers)

# 平均値を計算します
average = total / count

# 平均値を出力します
print(average)

このコードを実行すると、出力結果は 5.5 となります。

これは、リスト内の全要素(1から10までの数)の合計(55)を要素の数(10)で割った結果です。

○サンプルコード12:条件を満たす要素のカウント

また、リスト内の特定の条件を満たす要素の数を数えることもできます。

この例では、リスト内の偶数の数をカウントしています。

# リストを定義します
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

# 偶数の数をカウントします
count = sum(1 for num in numbers if num % 2 == 0)

# カウントを出力します
print(count)

このコードを実行すると、出力結果は 5 となります。

これは、リスト内の偶数(2, 4, 6, 8, 10)の数です。

ここでは、for文を使ってリストの要素を一つずつ取り出し、その要素が偶数であれば1を加算しています。

その結果として得られる合計が、偶数の数となります。

●注意点と対処法

Pythonのfor文を使用する際には、いくつかの注意点があります。

適切な処理を行うためには、これらの注意点を理解し、適切に対処することが重要です。

一つ目の注意点は、for文の中でリストや辞書などの変更を加えることです。

for文のループの中で直接リストや辞書を変更すると、予期しない結果を招くことがあります。

そのため、コレクションを変更する際には、新しいコレクションを作成するか、元のコレクションをループが完了した後で変更することを推奨します。

for文の中でリストを変更してしまうとどうなるかを表すコードを紹介します。

# リストを定義します
numbers = [1, 2, 3, 4, 5]

# リストの要素をfor文でループし、偶数だった場合に削除します
for num in numbers:
    if num % 2 == 0:
        numbers.remove(num)

# リストを出力します
print(numbers)

このコードを実行すると、出力結果は [1, 3, 5] ではなく、 [1, 3, 4, 5] となります。

なぜなら、リストがループ中に変更され、予期しない結果につながってしまうからです。

この問題を回避するためには、新しいリストを作成するか、元のリストをループが完了した後で変更することを推奨します。

次に、新しいリストを作成して問題を回避するコードを示します。

# リストを定義します
numbers = [1, 2, 3, 4, 5]

# 奇数のみを含む新しいリストを作成します
new_numbers = [num for num in numbers if num % 2 != 0]

# 新しいリストを出力します
print(new_numbers)

このコードを実行すると、出力結果は [1, 3, 5] となります。

新しいリストを作成することで、元のリストを変更する必要がなく、期待通りの結果を得ることができます。

●カスタマイズの方法

ここまでPythonのfor文を使った合計の計算法を10通り紹介しましたが、これらの基本的な手法をカスタマイズして、さらに高度な処理を行うことも可能です。

例えば、リストの要素が数値だけでなく、文字列や他のデータ型を含んでいる場合、合計を計算する前にデータ型のチェックを行うというカスタマイズが考えられます。

具体的には、次のようなコードになります。

# リストを定義します。数値と文字列が混在しています。
data = [1, 2, '3', 4, '5']

# 合計を計算しますが、要素が数値であることを確認します。
total = 0
for i in data:
    if isinstance(i, int):  # 要素が数値であることを確認します。
        total += i

# 合計を出力します。
print(total)

このコードでは、isinstance(i, int)を使って、各要素が整数型であるかを確認しています。

これにより、エラーを引き起こす可能性のある文字列をスキップし、数値だけを合計しています。

このコードを実行すると、出力結果は7となります。

このように、Pythonのfor文を使った合計の計算法は基本的な手法を理解すれば、さまざまな状況に応じてカスタマイズすることが可能です。

初心者の方でも、Pythonの基本的な文法を把握し、これらの例を参考にすれば、自身の問題解決に役立つコードを書くことができるでしょう。

是非一度自分で試してみてください。

まとめ

本記事では、Python初心者向けにfor文を使った合計の計算法を10通り解説しました。

これらの基本的な方法から応用的な例、カスタマイズ方法まで、初心者の方でも理解しやすいように詳細なサンプルコードを用意しました。

また、それぞれのコードの実行結果や、留意すべき点なども一緒に説明しましたので、初めてPythonで計算を行う方でも安心して取り組むことができるでしょう。

この記事を読むことで、Pythonでの計算がすぐにできるようになります。

Pythonでfor文を使った計算は、データ分析や機械学習など、さまざまな分野で必須のスキルです。

理解できたら、実際に自分でコードを書いてみることで理解を深めてください。

そして、Pythonのfor文という基本的な概念を学ぶことは、さらに高度なPythonのプログラミング技術を身につけるための第一歩となります。

今回学んだ知識を活用して、次のステップへ進んでいきましょう。

Pythonの学習は、一歩一歩、地道にコードを書くことから始まります。

しかし、その結果として得られるスキルや知識は、今後のあなたのキャリアに大きな価値をもたらすでしょう。

これからもPythonの学習を続けていきましょう。

本記事が皆さまのPython学習の一助となれば幸いです。