3

私はただの初心者です:P. Codeacademy で while ループに関するチュートリアルを行っています。、しかし、私はこの部分で立ち往生しています:theSum最初の 10 個の正の整数 (10 を含む) の合計を " "に格納する while ループを書きます。

theSum = 0
num = 1
while num <= 10:
    print num
    num = num + 1

コンソールの別々の行に 1 から 10 までの数字を出力します。値の合計を変数 " " に格納する方法を誰かに説明してもらえますmySumか? これまでに試したことはすべてうまくいきませんでした。:(

編集:わかりましたので、これを試しました:

theSum = 0
num = 1
while num <= 10:
    num += 1
    mySum = num
    mySum = mySum + num

print mySum

これで 22 になりますが、それはなぜですか? 私はとにかく近くにいますか?(すべての返信に感謝しますが、明日もう一度やり直します。)

編集:わかりました!お手伝いありがとう。:)

mySum = 0 
num = 1 
while num <= 10: 
    mySum += num 
    num += 1    
print mySum
4

4 に答える 4

7

あなたがすでに持っているコードは、必要なほとんどすべてを示しています。

残りの問題は、 -loopnum内で追加される値 ( )を正しく生成している一方で、これらの値を variable に蓄積していないことです。whiletheSum

質問から何かを学ぶことができるように、意図的に不足しているコードを提供しません...しかし、ループnumの変数に の値を追加する必要があります。これを行うためのコード (実際には 1 つのステートメント、つまり 1 行のコードです) は、ループ内の値を処理/更新する方法と多少似ています。theSum num

それは役に立ちますか?

于 2012-08-22T22:49:49.177 に答える
2

投稿したコードをドライランしてみましょう。参照できるように、行に番号を付けました。

1. num = 1
2. while num <= 10:
3.     num += 1
4.     mySum = num
5.     mySum = mySum + num

6. print mySum

これがドライランです

1. 簡単なことですが、新しい変数「num」を作成し、それを数値「1」にバインドします
2. `num` が 10 未満なので、ループの本体も同様です
3. `num` は `1` なので、今度は `2` にバインドします
4. 新しい変数「mySum」を作成し、「2」にバインドします (num と同じ)
5. `mySum` は `2` で `num` は `2` なので、`mySum` を `4` にバインドします
ループの先頭に戻る
2. `num` が 10 未満なので、ループの本体も同様です
3. `num` は `2` なので、今度は `3` にバインドします
4. `mySum` を `3` にバインドします (num と同じ)
5. `mySum` は `3` で `num` は `3` なので、`mySum` を `6` にバインドします
ループの先頭に戻る
2. `num` が 10 未満なので、ループの本体も同様です
3. `num` は `3` なので、今度は `4` にバインドします
4. `mySum` を `4` にバインド (num と同じ)
5. `mySum` は `4` で `num` は `4` なので、`mySum` を `8` にバインドします
ループの先頭に戻る
...

何かがうまくいかないようです。なぜmySum = numループ内でこれを行うのですか?あなたはそれが何をすることを期待していますか?

于 2012-08-23T00:28:16.037 に答える
0

ループ用!ええと!

n=10
sum(range(n+1))
于 2012-08-22T23:04:21.947 に答える