特定のタスクの実行方法を理解しましたが、2つの完全に別々の関数を作成して定義する必要がありました。私はその元の関数とただ1つのreturn文を持っていますが、どうやってそれを行うのか分かりません。私が持っているものPythonコードを1つのreturnステートメントに最適化
:
(25, 1.6180339887498754)
fp
機能が100%に働く何かであり、それはlambda x: 1 + 1/x
と1.0の設定値などを受け入れる:あなたはfp_golden_ratio_avgdamp()
プリントを呼び出すとき
def fp_golden_ratio_avgdamp():
return fp(avgdamp(lambda x: 1 + 1/x), 1.0)
def avgdamp(f):
return lambda x: avg(float(x), f(x))
def avg(x, y):
return (x + y)/2.0
何らかのエラーポイントが印刷される
(32, 1.6180339887499087)
だから、私はそのFP関数に渡そうとしているものは、最初に他の2つの関数を通過するものです。この時
私の試みがあった。
def fp_golden_ratio_avgdamp():
return fp(lambda x:(((float(1 + 1/x) + (1 + 1/x))/2.0)) , 1.0)
しかし、私は、この印刷さ
return fp(lambda x: 1 + 1/x, 1.0)
やっていたかのように、これは同じことになった:へだから
(32, 1.6180339887499087)
を私の質問をまとめる:avgdamp
とavg
の機能を取り除きたい1ライナーに最適化してください。
def fp_golden_ratio_avgdamp():
return fp('''do something with this (lambda x: 1 + 1/x) that is the same computation of the avgdamp and avg functions''', 1.0)
誰かが私を助けてくれますか?
なぜ* one-liner *である必要がありますか? – wwii
彼は私たちが1人であることを望んでいますが、それを理解しようと時間を費やしましたが、2つの別々の機能を作成しなければできませんでした。 –
これは宿題ですか? – wwii