【发布时间】:2022-10-16 21:40:29
【问题描述】:
我正在尝试确定 ASCII 平面图中的房间和家具数量(S、C、W、P)。一个典型的平面图看起来像这样,有不同的房间和布局。解决这个问题的最佳方法是什么?
+---------------+-------------------+ +----------+
| | | | |
| (office) | C | | C |
| | | | |
| W | +-----------+ |
| | | | |
| S | (bathroom) S| S | |
| +---+--------+----------+ | |
| /P S| | |
| / | | |
| / (kitchen) | (bedroom) | P |
+-------+ | | |
| \ | | |
| \ SSWP | W W | |
| +-------------+----------------------+ |
| |
| (hallway) |
| W |
+--------------+-------------+-------------+ |
| | \ |
| | \ C |
| P | \ |
| | \ |
+------+ P | +----------+
|S |
| (balcony) C |
+--------------------+
【问题讨论】:
-
平面图是一堆线(字符串)。只需查找相关的房间描述作为子字符串,例如
line.find('(bedroom)')找到一条线上的所有卧室?如果它们是行内唯一的大写字母,则可以以类似的方式计算家具。 -
您对每个房间的家具数量的一般(总)家具数量感兴趣吗?
-
每个房间的不同家具数量。例如:办公室 - 1S 1W 和厨房 - 3S 2P 1W