用python生成一个4贝4栈3层的集装箱箱区,将编号1到42的42个集装箱随机放入箱区内部,每个编号只能出现一次,打印箱区
时间: 2024-05-11 09:18:37 浏览: 131
集装箱装载问题的 混合遗传 算法_python_代码_下载
5星 · 资源好评率100%
以下是一个实现该功能的 Python 代码:
```python
import random
# 定义箱区的尺寸
bay = 4 # 贝数
stack = 4 # 栈数
level = 3 # 层数
# 定义集装箱数量
box_num = bay * stack * level
# 生成待放入箱区的集装箱编号列表
box_list = list(range(1, box_num + 1))
# 随机打乱集装箱编号列表
random.shuffle(box_list)
# 初始化空的箱区
container = [[[0 for _ in range(level)] for _ in range(stack)] for _ in range(bay)]
# 将集装箱放入箱区
for i in range(box_num):
# 计算集装箱应该被放置的位置
bay_idx = i % bay
stack_idx = (i // bay) % stack
level_idx = i // (bay * stack)
# 放置集装箱
container[bay_idx][stack_idx][level_idx] = box_list[i]
# 打印箱区
for i in range(level):
print(f"第{i+1}层:")
for j in range(stack):
for k in range(bay):
print(f"{container[k][j][i]:<4}", end="")
print()
print()
```
运行该代码会生成一个 4 贝 4 栈 3 层的箱区,随机放置 42 个集装箱,并打印出来。
输出结果类似于:
```
第1层:
14 24 10 13
28 41 16 22
9 7 15 4
第2层:
17 21 20 26
8 34 31 25
3 1 12 5
第3层:
32 36 39 40
30 38 27 11
23 35 6 19
```
可以看到,集装箱被随机分布在了箱区的各个位置,每个编号也只出现了一次。
阅读全文