Python 2.7 矩形/复杂和浮点错误/Python 编写一个python程序,提示用户输入中心x、y坐标,

Python 2.7 矩形/复杂和浮点错误/Python 编写一个python程序,提示用户输入中心x、y坐标,,python-2.7,Python 2.7,两个矩形的宽度和高度,并确定第二个矩形是否为 在第一个矩形内或与第一个矩形重叠,或在第一个矩形外(不重叠) 如下图所示,示例运行如下。一定要测试你的电脑 计划涵盖所有3种情况 TypeError:“>”在“complex”和“float”的实例之间不受支持,并且不知道如何修复它。 def main(): Center1X=eval(输入(“请输入矩形1的中心x坐标:”) Center1Y=eval(输入(“请输入矩形1的中心y坐标:”) 宽度1=eval(输入(“请输入矩形1的宽度:”) Hei

两个矩形的宽度和高度,并确定第二个矩形是否为 在第一个矩形内或与第一个矩形重叠,或在第一个矩形外(不重叠) 如下图所示,示例运行如下。一定要测试你的电脑 计划涵盖所有3种情况

TypeError:“>”在“complex”和“float”的实例之间不受支持,并且不知道如何修复它。
def main():
Center1X=eval(输入(“请输入矩形1的中心x坐标:”)
Center1Y=eval(输入(“请输入矩形1的中心y坐标:”)
宽度1=eval(输入(“请输入矩形1的宽度:”)
Height1=eval(输入(“请输入矩形1的高度:”)
Center2X=eval(输入(“请输入矩形2的中心x坐标:”)
Center2Y=eval(输入(“请输入矩形2的中心y坐标:”)
宽度2=eval(输入(“请输入矩形2的宽度:”)
Height2=eval(输入(“请输入矩形2的高度:”)
距离_X1X2=(中心1x**2-中心2x**2)**0.5
距离_Y1Y2=(中心2y**2-中心2y**2)**0.5
距离宽度=(宽度1/2)+(宽度2/2)
距离高度=(高度1/2)+(高度2/2)
如果(距离>距离宽度):
打印(“结果是:矩形2不与矩形1重叠”)
elif(距离>距离高度):
打印(“结果是:矩形2不与矩形1重叠”)
elif距离_X1X2<距离宽度,距离_Y1Y2<距离高度:
打印(“结果是:矩形2在矩形1内。”)
其他:
打印(“结果是:矩形2与矩形1重叠”)

您的距离计算公式错误:

Distance_X1X2 = (Center1X**2 - Center2X**2)**0.5
应该是

Distance_X1X2 = (Center1X**2 + Center2X**2)**0.5
因此,有时
Center1X**2-Center2X**2
是负数,负数的平方根在python中返回一个
复数,这与
浮点数相比,因为它是二维的(实部、虚部)

使用正确的公式,平方根是正数:不再有复数

旁白:不要执行
eval(input())
,更喜欢
float(input())
,这样更安全(没有人可以在脚本中插入python代码)

Distance_X1X2 = (Center1X**2 + Center2X**2)**0.5