Python 如何使正方形内接在圆中?

Python 如何使正方形内接在圆中?,python,Python,我必须写一个函数,其中有一个正方形内接在一个圆上。正方形的角与圆的周长相接触 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) /

我必须写一个函数,其中有一个正方形内接在一个圆上。正方形的角与圆的周长相接触

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)))

代码中几乎没有问题,主要是使用了一些不需要的括号。希望下面的代码能帮助你

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

代码中几乎没有问题,主要是使用了一些不需要的括号。希望下面的代码能帮助你

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

如果你用手再仔细计算一下,你会发现正方形的面积是
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

如果你用手再仔细计算一下,你会发现正方形的面积是
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

你可以使用
math.pi
获得比3.14更高的精度。你可以使用
math.pi
获得比3.14更高的精度。非常感谢!我去掉了括号,修改了正方形的公式,因为我意识到我已经找到了边。:)不需要的括号不会导致错误-错误的括号会导致错误。突出显示您的代码和上面代码之间的功能差异将使这成为一个更好的答案。非常感谢!我去掉了括号,修改了正方形的公式,因为我意识到我已经找到了边。:)不需要的括号不会导致错误-错误的括号会导致错误。突出显示您的代码和上面代码之间的功能差异将使这成为一个更好的答案。