タスク
100 から 500 までのすべての整数の合計を求めてください。
式を使わずにこの問題を解くプログラムを書いてみましょう。 変数
s
に足し算の結果を書くだけなら、たとえば次のようになります。
\(s=100+101+102+103+...+500\),
コンピューターは算術式で省略記号を使用する方法を理解せず、100 から 500 までのすべての数字を書き込まなければならないため、記録自体に多くの時間を費やします。そして、そのようなプログラムの値は次のようになります。無視できる。特に、数値を変更して別の範囲を取りたい場合は.
何をすべきでしょうか?
上記のエントリに注意を払うと、常に "
+
" を使用します。
s
変数に徐々に数値を追加してみてください。たとえば、この表記法を使用すると
s=s+i
.
ここで行ったこと:
1) 右側に式 s+i
を入れます。 つまり、変数 s
の値を取得し、変数の値を i
;
2) 左側で変数 s
の名前を設定します。つまり、右側の計算結果全体が同じ 変数 s
に格納されるので、変数 s
の値を変更します。
必要な範囲で変数 i
の値を変更するだけです。これは for
.
ループで実行できます。
範囲内の 100 から 500 までの数値は、順番に
i
変数に入る必要があります。
例
# 重要!まず、変数 s をリセットする必要があります。
# 最初のステップで数値 100 がゼロに加算されるように、
# メモリにあるものではありません!
s = 0
for i in range(100, 501): # ループヘッダー where i
s += i # 値は 100 から 500 まで 1 ずつ変化します。
# ループ本体で変数 s に徐々に追加します。
# 変化する変数 i の値を追加します。
# そして結果を変数 s に保存し直します
プレ>
このソリューションは、アクションの合計を計算するのと非常によく似ています:
\(s = 0 + 100 = 100, \\ s = 100 + 101 = 201, \\ s = 201 + 102 = 303 \\ ... \)スパン>