蓝桥杯每日一练:如何计算矩形面积交点?

2026-06-11 00:021阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计555个文字,预计阅读时间需要3分钟。

蓝桥杯每日一练:如何计算矩形面积交点?

python定义一个函数计算两个矩形相交的面积def calculate_intersection_area(rect1, rect2): # 解析矩形坐标 x1_min, y1_min, x1_max, y1_max=rect1 x2_min, y2_min, x2_max, y2_max=rect2

# 计算相交矩形的坐标 x_min=max(x1_min, x2_min) y_min=max(y1_min, y2_min) x_max=min(x1_max, x2_max) y_max=min(y1_max, y2_max)

# 计算相交矩形的面积 if x_max > x_min and y_max > y_min: intersection_area=(x_max - x_min) * (y_max - y_min) return intersection_area else: return 0

输入格式:矩形坐标,格式为(x1_min, y1_min, x1_max, y1_max, x2_min, y2_min, x2_max, y2_max)示例输入:(1, 2, 4, 5, 3, 1, 6, 3)

input_str=input()移除输入字符串中的括号input_str=input_str[1:-1]解析输入的矩形坐标rect1=tuple(map(float, input_str.split(',')))读取第二个矩形的坐标rect2=tuple(map(float, input(input()).split(',')))

计算并输出相交面积print(calculate_intersection_area(rect1, rect2))

一、题目

问题描述
  平面上有两个矩形,它们的边平行于直角坐标系的X轴或Y轴。对于每个矩形,我们给出它的一对相对顶点的坐标,请你编程算出两个矩形的交的面积。
输入格式
  输入仅包含两行,每行描述一个矩形。
  在每行中,给出矩形的一对相对顶点的坐标,每个点的坐标都用两个绝对值不超过10^7的实数表示。
输出格式
  输出仅包含一个实数,为交的面积,保留到小数后两位。
样例输入
1 1 3 3
2 2 4 4
样例输出
1.00

二、python代码

解析图如下:

代码:

# coding=gbk
"""
作者:川川
@时间 : 2022/1/19 22:23
群:428335755
"""
list1 = list(map(float, input().split()))
list2 = list(map(float, input().split()))

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

if x1 < x2 and y1 < y2:
area = (x2 - x1)*(y2 - y1)
print('%.2f' % area)
else:
print('%.2f' % 0.00)

三、视频讲解

b站:​​蓝桥杯讲解​​


蓝桥杯每日一练:如何计算矩形面积交点?

蓝桥杯比赛python组视频教程(零基础讲解+算法辅导)


本文共计555个文字,预计阅读时间需要3分钟。

蓝桥杯每日一练:如何计算矩形面积交点?

python定义一个函数计算两个矩形相交的面积def calculate_intersection_area(rect1, rect2): # 解析矩形坐标 x1_min, y1_min, x1_max, y1_max=rect1 x2_min, y2_min, x2_max, y2_max=rect2

# 计算相交矩形的坐标 x_min=max(x1_min, x2_min) y_min=max(y1_min, y2_min) x_max=min(x1_max, x2_max) y_max=min(y1_max, y2_max)

# 计算相交矩形的面积 if x_max > x_min and y_max > y_min: intersection_area=(x_max - x_min) * (y_max - y_min) return intersection_area else: return 0

输入格式:矩形坐标,格式为(x1_min, y1_min, x1_max, y1_max, x2_min, y2_min, x2_max, y2_max)示例输入:(1, 2, 4, 5, 3, 1, 6, 3)

input_str=input()移除输入字符串中的括号input_str=input_str[1:-1]解析输入的矩形坐标rect1=tuple(map(float, input_str.split(',')))读取第二个矩形的坐标rect2=tuple(map(float, input(input()).split(',')))

计算并输出相交面积print(calculate_intersection_area(rect1, rect2))

一、题目

问题描述
  平面上有两个矩形,它们的边平行于直角坐标系的X轴或Y轴。对于每个矩形,我们给出它的一对相对顶点的坐标,请你编程算出两个矩形的交的面积。
输入格式
  输入仅包含两行,每行描述一个矩形。
  在每行中,给出矩形的一对相对顶点的坐标,每个点的坐标都用两个绝对值不超过10^7的实数表示。
输出格式
  输出仅包含一个实数,为交的面积,保留到小数后两位。
样例输入
1 1 3 3
2 2 4 4
样例输出
1.00

二、python代码

解析图如下:

代码:

# coding=gbk
"""
作者:川川
@时间 : 2022/1/19 22:23
群:428335755
"""
list1 = list(map(float, input().split()))
list2 = list(map(float, input().split()))

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

if x1 < x2 and y1 < y2:
area = (x2 - x1)*(y2 - y1)
print('%.2f' % area)
else:
print('%.2f' % 0.00)

三、视频讲解

b站:​​蓝桥杯讲解​​


蓝桥杯每日一练:如何计算矩形面积交点?

蓝桥杯比赛python组视频教程(零基础讲解+算法辅导)