1

次のような数字のリストがあるとします。

my_list = [1, 17, 2]

そして、それらを一緒に追加したかったのです。を使用できることを知っていますprint(sum(my_list))。しかし、別の方法があるかどうかを確認したかったので、次のことを試しました。

b = len(my_list)
for m in range(my_list[0], my_list[b-1]):
    m += m
    print(m)

このようなことがうまくいくはずですが、明らかに間違っています。この出力は です2。私が試した後:

result = 0
b = len(my_list)
for m in range(my_list[0], my_list[b-1]):
    result = result + m
    print(result)

これは を出力します1

私が間違っていることと、それを修正する方法を説明してください。

4

6 に答える 6

2

まず、正しい範囲を設定する必要があります: 0..2 の場合 (リスト項目のインデックスは 0 から始まり、2 つの項目があるため)

  for i in range(0, b):
      result = result + my_list[i];

または、「for each」スタイルを好む場合は、合計するリストで反復する必要があります。

  for m in my_list:
      result = result + m;

最後に、最終合計のみを印刷する場合は、印刷インデントを修正する必要があります。

  for m in my_list:
      result = result + m;

  print(result)  # <- mind indent

まとめ:

  my_list = [1, 17, 2]

  result = 0

  for m in my_list:
      result = result + m;

  print(result)
于 2013-08-02T06:43:04.960 に答える