注册 登录
编程论坛 Python论坛

python问题,平面有4个圆,圆心分别为(2,2)、(-2,2)、(-2,-2)、(2,-2),圆半径为1,求解答啊

zzk_kun 发布于 2021-03-19 21:34, 2874 次点击
平面有4个圆,圆心分别为(2,2)、(-2,2)、(-2,-2)、(2,-2),圆半径为1。现输入任一点的坐标,判断改点是否在这4个圆中,如在则给出是在哪个圆中。
5 回复
#2
zyb1593572021-03-20 14:09

def chick():
    s=input("请输入坐标: x , y ")
    x,y=tuple(map(float,s.split(",")))
    #print('x=',x, "y=",y)
    for i in [(2,2),(-2,2),(-2,-2),(2,-2)]:
        if (x-i[0])**2+(y-i[1])**2<=1:
            return (f"在圆心{i}的圆内")
    return "不在圆内"
print(chick())
#3
zzk_kun2021-03-20 21:09
回复 2楼 zyb159357
谢谢
#4
zyb1593572021-03-20 23:58
共同学习.
#5
sssooosss2021-03-22 08:34
共同学习
#6
傻眼猫咪2021-08-02 13:07
程序代码:

from math import *

# 畢氏定理: 斜邊 = 直角邊 a 的長度 + 直角邊 b 的長度 的平方根

def insideCircle(point) -> bool or set:
    center = [(2, 2), (-2, 2), (-2, -2), (2, -2)] # 圓中心點
    hypotenuse = lambda a, b: sqrt((a**2)+(b**2)) # 斜邊的長度
    for i in center:
        a = abs(i[0]-point[0]) # 直角邊 a 的長度
        b = abs(i[1]-point[1]) # 直角邊 b 的長度
        if hypotenuse(a, b) < 1: # 判斷是否在圈內
            return i
    return False

point = (1.5, 3) # 範例
print(insideCircle(point))
1