2017-09-15 6 views
1

私は円に内接四角形が存在する関数を記述する必要があります。正方形の角が円の周囲に触れます。円に刻まれた正方形を作るには?

find_area(4)のための関数呼び出しは18.2400の戻り値を持っている必要があります。 しかし、私は平方根を組み込むためにしようとしているという事実は、コードをいじって、私に任意の値を与えていないと思います。

import math 

def find_area(r): 
    # area: area of circle - area of square 

    s = math.sqrt(2) 
    sidesquare = (s * ((r*2)/2) 
    square = (sidesquare * 2)** 2 
    circle = (3.14 * r)** 2 
    area = circle - square 
    return (area) 

if __name__ == '__main__': 
    print('Testing compute() with r = 4:' + str(find_area(4))) 
+0

ちょうどヘッドアップ - あなたはちょうど3.14以上の精度を得るために 'math.pi'を使うことができます。 –

答えて

0

あなたのコード内のいくつかの問題、主にあなたは、いくつかの不要な括弧を使用しているがあります。ここに は、私がこれまでに得たものです。下のコードがあなたを助けてくれることを願っています。

def find_area(r): 
    s = math.sqrt(2) 
    sidesquare = s * r * 2/2 
    square = (sidesquare * 2) ** 2 
    circle = 3.14 * r ** 2 
    area = circle - square 
    return area 
+0

ありがとうございます。私は括弧を削除し、正方形の数式に変更を加えました。私は既にその辺を見つけたことに気付きました。 :) – missusfox

+0

必要ない括弧はバグを引き起こさない - 間違った括弧はしません。あなたのコードと上記のコードとの間の機能的な違いを強調すると、これはもっと良い答えになります。 – Shadow

0

あなたは、もう少し手でを通じて数学をクランチした場合、あなたは、正方形の面積は2 * r ** 2で、円はpi * r ** 2であることがわかります、あなたの関数が

from math import pi 

def find_area(r): 
    return (pi - 2.) * r ** 2 

か、に減少してあなたがpi == 3.14を主張するならば、

find_area = lambda r: 1.14 * r ** 2 
関連する問題