#!/usr/bin/env python3
import numpy as np
x1 = np.array([1,2,3])
x2 = np.array([4,5,6])
x3 = sum(x1 * x2)
print(x3)
実行すると、値として、32が得られます。
これを、最終行のprint()で、
print(inner_prod((1, 2, 3), (4, 4, 6)))
として、やはり32が得られるinner_prodという名の関数を、
という課題です。同じ長さの数字、とありましたから、
数字は連続した整数、2つのリストで同じ数値の個数で、
2つのlistの同じ順位の数値同士の
掛け算をして、計算結果の総和の出る関数を
書け、ということです。range()とか、len()とか、
sum()を使って。
ひとつ前の課題の応用してということなんでしょうけど、
2つの任意の幅の数が入っているlistの入る関数って、
どう嗅げばよいのか。見当がつきません。
いとぐちというか、とっかかりが掴めません。
入った数値の並びが関数内で分解されれるように
するには、どうすればいいのか、とか、、、。
print()の直前にreturnして、関数の側がさーかかってこいと
身構えるわけですよね。
課題文は、range と len を用いて長さの同じ 2 つのリストの
同じ位置にある要素の積の総和を求める関数 を作成しましょう。
例えば、print inner_prod((1, 2, 3), (4, 5, 6))
の出力は 1×4 + 2×5 + 3×6 = 32 となります。
(出題は、python2)
ここの課題の特徴は、入力値をフリーにして、
機能するように、ということで
徹底しています。初心者にむずかしいです。
前回のつまったときは、10日ぐらいでしたが、
こんどはもっとかかりそう。
listというものの基本がわかっていないので。
エクセルで構文を書いて便利に使っている
スーパーサラリーマンなんか、すぐ解くんでしょうね。