今回は、Pythonでfor文を使って、1から10までの和を求める方法を解説していきます。
参考:【Python】for文で合計を求める方法!数学的処理を用いた計算コストも解説!
無料オンライン相談を活用しよう!
Pythonというプログラミング言語は機械学習の人気の高まりなどもあり、様々なスクールが無料説明会を開催しています。
その中でも「Freeks(フリークス)|業界初!10,780円のサブスク型プログラミングスクール」がオススメです。Pythonを効率よく学びたいという方はまずは適性を知るためにも無料説明会を利用しましょう。
for文で1から10までの和を求める方法
一番オーソドックスな方法です。
合計を求める変数「sum」に1から10までをループした変数「i」を順番に足していくことで和を求めています。
1 2 3 4 5 6 7 |
sum = 0 for i in range(1, 11): sum += i print(sum) # 55 |
注意するポイントは、range関数の引数を(1, 11)とすることです。
range(10)とすると、0から9までの和となってしまい、求めたい値とは異なってしまします。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
for i in range(1, 11): print(i) """ 1 2 3 4 5 6 7 8 9 10 """ for i in range(10): print(i) """ 0 1 2 3 4 5 6 7 8 9 """ |
合計を求めるその他の方法
sum関数の利用
sum関数にリストを入力すると、合計値が簡単に求められます。
1 2 3 4 5 6 |
print(list(range(1,11))) # [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] print(sum(list(range(1, 11)))) # 55 |
while文の利用
while文を利用しても合計を求めることができます。繰り返しの条件や、変数の更新を忘れないようにしましょう。
1 2 3 4 5 6 7 8 9 10 |
sum = 0 i = 0 while i < 11: sum += i i += 1 print(sum) # 55 |
数学的に求める
高校数学で習ったシグマの公式を使うと、第n項までの合計は、SUM = n(n+1)/2で求められます。
ラムダ式を用いた場合は以下のようになります。
1 2 3 4 5 |
calcSum = lambda n : int(n * (n + 1) / 2) print(calcSum(10)) # 55 |
関数を定義すると以下のようになります。
1 2 3 4 5 6 7 |
def calcSum(n): return int(n * (n + 1) / 2) if __name__ == "__main__": print(calcSum(10)) # 55 |
for文やwhile文などのループによって合計を求めるよりも計算量ははるかに少ないので、数学的意味が分かる場合はこちらの方が良いかもしれませんね。
ただし、これらのソースを用いる場合はコメントなどで説明があると後で見返したときにわかりやすいのでオススメです。
まとめ
最後まで読んでいただきありがとうございます!
今回は、Pythonでfor文を使って、1から10までの和を求める方法を解説しました。
合計を求めるのはプログラミングの基本となりますのでぜひともマスターしたい内容ですね!似たような記事ですが、下記も参考になると思います。
参考:【Python】for文で合計を求める方法!数学的処理を用いた計
無料の説明会を有効活用しよう!
独学での学習は孤独感を感じやすく挫折してしまう初心者も多いです。また、参考書を購入しても全く読む気にならないという方も多いはずです。
それでも、なんとかPythonの勉強を行い、高スキルなエンジニアを目指したいという方は無料で受けられるオンライン説明会に参加してみることも一つの手です。
Pythonというプログラミング言語は機械学習の人気の高まりなどもあり、様々なスクールが無料説明会を開催しています。
その中でも「Freeks(フリークス)|業界初!10,780円のサブスク型プログラミングスクール」がオススメです。Pythonを効率よく学びたいという方はまずは適性を知るためにも無料説明会を利用しましょう。