2 つの入力を受け取る関数があり、指定されたタプルの 2 つの数値が関数に指定された 2 つの数値とまったく同じ比率を持つタプルの配列を返します。
したがって、すべてが正常に機能していましたが、何らかの理由で、すべてのタプルを取得していない場合があります。以下にその例を示しますが、その理由はわかりません。
In [52]: def find_r(num1,num2):
....: ratio = num1/float(num2)
....: ratio = 1/ratio
....: my_list = [(a,int(a * ratio)) for a in range(1,num1) if float(a * ratio).is_integer()] #and a * 1/float(ratio) + a <= num1]
....: return my_list
....:
In [53]: find_r(100,364)
Out[53]: [(75, 273)]
したがって、タプルは 1 つしか返されませんでしたが、75 と 273 の両方を 3 で割ると、同じ比率の 25 と 91 のタプルが得られます。関数がこのインスタンスを取得しなかったのはなぜですか?
それが役立つ場合、私はそれがメソッドと関係があると疑っていますが、is_integer()
よくわかりません.
ありがとう!