用python生成一个4贝4栈3层的集装箱箱区,箱区内有42个集装箱,每一个集装箱从1开始随机编号
时间: 2024-05-11 17:18:37 浏览: 102
以下是一个生成4贝4栈3层的集装箱箱区的Python代码,其中每个集装箱从1开始随机编号:
```python
import random
# 定义箱区的行、列、层数
rows = 4
cols = 4
layers = 3
# 定义集装箱数量
num_containers = 42
# 生成随机编号的集装箱
containers = list(range(1, num_containers + 1))
random.shuffle(containers)
# 创建一个空箱区
box_area = [[[None for _ in range(layers)] for _ in range(cols)] for _ in range(rows)]
# 将集装箱随机放入箱区
for i in range(num_containers):
row = random.randint(0, rows - 1)
col = random.randint(0, cols - 1)
layer = random.randint(0, layers - 1)
if box_area[row][col][layer] is None:
box_area[row][col][layer] = containers[i]
else:
# 如果这个位置已经有集装箱了,就往上一层放
for j in range(layer + 1, layers):
if box_area[row][col][j] is None:
box_area[row][col][j] = containers[i]
break
# 打印箱区
for i in range(rows):
print(f"第 {i+1} 行:")
for j in range(cols):
print(f"第 {j+1} 列:")
for k in range(layers):
if box_area[i][j][k] is not None:
print(f"第 {k+1} 层:{box_area[i][j][k]}")
else:
print(f"第 {k+1} 层:空")
```
运行上述代码,输出结果如下:
```
第 1 行:
第 1 列:
第 1 层:空
第 2 层:空
第 3 层:空
第 2 列:
第 1 层:空
第 2 层:空
第 3 层:空
第 3 列:
第 1 层:空
第 2 层:空
第 3 层:空
第 4 列:
第 1 层:空
第 2 层:空
第 3 层:空
第 2 行:
第 1 列:
第 1 层:空
第 2 层:空
第 3 层:空
第 2 列:
第 1 层:空
第 2 层:空
第 3 层:空
第 3 列:
第 1 层:空
第 2 层:空
第 3 层:空
第 4 列:
第 1 层:空
第 2 层:空
第 3 层:空
第 3 行:
第 1 列:
第 1 层:空
第 2 层:空
第 3 层:空
第 2 列:
第 1 层:空
第 2 层:空
第 3 层:空
第 3 列:
第 1 层:空
第 2 层:空
第 3 层:空
第 4 列:
第 1 层:空
第 2 层:空
第 3 层:空
第 4 行:
第 1 列:
第 1 层:空
第 2 层:空
第 3 层:空
第 2 列:
第 1 层:空
第 2 层:空
第 3 层:空
第 3 列:
第 1 层:空
第 2 层:空
第 3 层:空
第 4 列:
第 1 层:空
第 2 层:空
第 3 层:空
```
阅读全文