Python基础练习 矩形面积交

问题描述
平面上有两个矩形,它们的边平行于直角坐标系的X轴或Y轴。对于每个矩形,我们给出它的一对相对顶点的坐标,请你编程算出两个矩形的交的面积。

输入格式
输入仅包含两行,每行描述一个矩形。
在每行中,给出矩形的一对相对顶点的坐标,每个点的坐标都用两个绝对值不超过10^7的实数表示。

输出格式
输出仅包含一个实数,为交的面积,保留到小数后两位。

样例输入
1 1 3 3
2 2 4 4

样例输出
1.00

a = list(map(float, input().split()))
b = list(map(float, input().split()))

if a[0]>a[2]:
    a[0],a[2] = a[2],a[0]
if a[1]>a[3]:
    a[1],a[3] = a[3],a[1]
if b[0]>b[2]:
    b[0],b[2] = b[2],b[0]
if b[1]>b[3]:
    b[1],b[3] = b[3],b[1]

x1 = max(a[0],b[0])
y1 = max(a[1],b[1])
x2 = min(a[2],b[2])
y2 = min(a[3],b[3])

if y2<y1 or x2<x1:
    c = 0
else:
    c = (y2-y1)*(x2-x1)
print("{:.2f}".format(c))

推荐大家看看下面这个博客的讲解:

https://blog.csdn.net/bianxia123456/article/details/104375554


版权声明:本文为weixin_43937790原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。