-4

誰かがこれを行う方法を教えてもらえますか? ありがとう。

プログラムは、数値のリストを受け入れる関数 sumPower を定義する必要があります。次に、関数 sumPower は、リスト内の各項目を数値 2 の指数として使用する必要があります。この関数は、これらの累乗を加算し、合計を返す必要があります。また、次のようなステートメントを含むメイン プログラムを必ず作成する必要があります。

print( sumPower([2,4,6]) )

4

1 に答える 1

3

ここでは、リスト内包表記を使用します。つまり、私のリストを取得し、そのリストの各要素について新しい値を計算します。新しい要素のリストを返します。

例えば:

In [2]: a=[2,4,6]

In [3]: print [pow(2,x) for x in a]
[4, 16, 64]

その後、リスト内の要素の合計を計算する必要があります。Pythonには、引数であるリスト内のすべての要素を合計できる関数があります。

In [4]: sum([2,4,6])
Out[4]: 12

ここで、リスト内包表記とを組み合わせますsum

(try to guess)

そのような構成が許可されていない場合は、同じより低レベルの記述を行うことができます。

def sumPower(a):
  s = 0
  for x in a:
    s += pow(2,x)
  # (one line removed; try to guess what must be here)

ここでは、を繰り返しa、2の累乗を計算し、それをs変数に累積します。次にs、関数の結果として戻ります。

ソリューションを少し変更しました。私はいくつかのコードを隠しました。自分で推測してみてください。それは非常に簡単で、あなたがそれを正しく推測するとき、それはあなたにとってより役立つでしょう!

于 2012-07-02T04:34:16.167 に答える