2022年02月23日

nekoさん22/02/23コメントを、ご注視ください。

かんたんにisoを解体、
修正が終わったら、またiso化する
スクリプトの内容を
公開してくださっています。

シェルスクリプトですから、
APorteus上だけでなく、
他のlinuxディストリビューション上でも
実行できると思います。

じぶんは、ずいぶん以前、archisoを
使ったことがありますが、それ以外はありません。
"じぶんディストリビューション(といっても
システムは借り物)"を考えた折のことですが、
意外にかんたんなんですね、


posted by ブログ開設者 at 09:24| Comment(0) | linux | このブログの読者になる | 更新情報をチェックする

もし! その道は行き止まりですよ? pytion日記-29

A:「えっ、そーなん? Uターンする場所、
  ありますか」」   

B:「そんなのないよ。」

A:「えぇ! バックで下がるしかない?
  きのう寝違えて、首が回らないんだけど…」

B:「バックカメラ、付いてないの?
  バックカメラ! あ、クルマ古いね」


って地方の山道に紛れ込み、地元のお爺ちゃんに
言われたわけではないです。


課題を要約すると、最終行に、

print(inner_prod((1, 2, 3), (4, 6, 7)))

と書いてあって、実行したら、「32」という
数字(答え)が出るように、上に"適切な関数"を載っけろ、
というもの。

1つは、いんちきして、ライブラリをimport。
#!/usr/bin/env python3

import numpy as np

def inner_prod(x, y):
x1 = np.array([x])
x2 = np.array([y])
total = sum(x1 * x2)
return sum(total)
print(inner_prod((1, 2, 3), (4, 5, 6)))

で「32」の正解が得られた。

でも、課題は、

課題 :range と len を用いて長さの同じ 2 つのリストの
同じ位置にある要素の積の総和を求める
関数 inner_prod を作成しましょう。例えば、
print inner_prod((1, 2, 3), (4, 5, 6))
の出力は 1×4 + 2×5 + 3×6 = 32 となります。

(出題は、python2と思われます)

はっきり、range と len を用いて、と書いてあります。
解けない、です。私のアタマの程度では、どーしても。

そもそも、リストの数値(複数)を、
関数の引数?として持ち込むやり方がわかりません。

rangeというのは、スタートの数字と、終わりの数字、
あとは、いくつおきの数字にするかだし、
lenは、ただリストに要素が何個入っているか
しらべるだけですよね。

以下は、エラーにはならないですが、
間違った答えが出ます。
要するにループさせられず、最後の数字同士を
掛け算させただけになっていますね。
#!/usr/bin/env python3

def inner_prod(x,y):
for i in range(len(x)):
s = x[i]
for h in range(len(y)):
n = y[h]
a = s * n
return a
print(inner_prod((1, 2, 3), (4, 5, 6)))

3x6をやっただけで、18にしかなりません。
ループさせられていない、ってことですね。
関数内の同次元に、for文をつづけていいのか、
ってのもありますが。

この式が、仮に希望を叶えているとするならば、
[ 4, 10, 18 ]
と結果が出て、あとはsum()を付加すれば、
32と出るはずなんですが、、、。

課題を飛ばして、つぎ行こうかな、という紀文の
だし巻き卵。


posted by ブログ開設者 at 07:04| Comment(0) | linux | このブログの読者になる | 更新情報をチェックする