まず第一に、私はPythonに非常に慣れていないので、実際に問題を探していますが、例が多すぎて理解できませんでした。
これは私の宿題です; 2 つの関数を引数として取り、2 つの関数の結果が同じかどうかを返す関数が必要ですか? 基本的に、TRUE または FALSE のいずれかを返します。
そのために私は書いた:
def f(x,y,z):
k=x(*z)
l=y(*z)
return k == l
単一の関数用に書いた以前のコードは機能していましたが、上記のように 2 つの関数用に変更すると、次のようなエラーが発生します。
import math
>>> f(math.sqrt,math.cos,5)
Traceback (most recent call last):
File "<pyshell#56>", line 1, in <module>
f(math.sqrt,math.cos,5)
File "D:/Users/karabulut-ug/Desktop/yalanmakinesi.py", line 2, in f
k=x(*z)
TypeError: sqrt() argument after * must be a sequence
>>>
関数を与えるエラーは通常、シーケンスを取らないので、私はそれを理解できませんでした。だから私はそれが理にかなっているとは思わない:)どんな助けも大歓迎です..ありがとう:)