はじめに
息子に、プログラミングを学んでもらおうと思い PYTHON を始めたのですが
いかんせん、そのプログラムを 何に使えばいいのかが 分からない
という状況に陥っている次第で、確かに ”それ 何に使うんだよ?”となります。
そんな訳で、簡単な問題を作って、それに答えてもらう事にしましたので
その問題と、息子が解いた答えを、このブログに掲載しようと思います。
for 文 を使った問題
1から100までの数を足していき、合計を求めなさい。
1+2+3+・・・・・100= ? って事です。
for と range( ) を使って問題を解いてください。
この場合は、問題を解いても 計算結果 が解らなければ ならないので
計算結果の計算方法を先に記述します。
101×100÷2=5050 になりますので、問題を解いた答えが 5050 になれば正解です。
上の式で解けてしまいますが、ここは敢えて for と range( ) を使って下さい。
余談になりますが、何故この式で答えが出るかといいますと・・・
1 + 2+ 3+ 4+・・・・・ 100
+ + + + +
100+99+98+97+・・・・・ 1
=101+101+101+101 ・・・・・101 という事で
101 を 100 回掛けてから 2 で割ります。
51から100までを足した場合だと、どうなるでしょうか?
答えは、for 文 を使って python で出してみて下さい。
回答
1から100までの場合。
x=0
for i in range(101):
x = x+i
print(x)
# 5050
と、なります。
range(101) の 101 が 100 ではないのは、
100 の場合、 0 から始まって、99 迄だからです。
(0,1,2,3,…99)という事になってしまいます。
for i in range(101):
で 0 から順番に i に代入されていき 101番目の 100 で、ループから抜ける事になります。
51から100までの場合。
x=0
for i in range(51,101):
x = x+i
print(x)
# 3775
for i in range(51,101):
の 51 は、0 からではなく、51 から始めて下さいという事で、
(51,52,53,54…100) という事になります。
0 から始めたい場合、for i in range(0,101): と書いてもいいのですが
0, は、わざわざ 書かなくてもいいので省略します。
コメント等、お気軽にどうぞ ( ̄▽ ̄)