用python生成一个4贝4栈3层的集装箱箱区,将编号1到42的42个集装箱随机放入箱区内部,每种编号的集装箱只能出现一个,打印箱区
时间: 2024-05-01 20:20:17 浏览: 85
以下是一个可能的实现:
```python
import random
# 定义箱区的大小
BEI = 4
ZHAN = 4
CENG = 3
# 定义集装箱数量
BOX_NUM = BEI * ZHAN * CENG
# 定义集装箱编号列表
box_nums = list(range(1, BOX_NUM+1))
# 随机打乱编号顺序
random.shuffle(box_nums)
# 初始化箱区
container = [[[0 for _ in range(CENG)] for _ in range(ZHAN)] for _ in range(BEI)]
# 将集装箱放入箱区,按照从左到右、从前到后、从下到上的顺序
for i in range(BEI):
for j in range(ZHAN):
for k in range(CENG):
idx = i * ZHAN * CENG + j * CENG + k
container[i][j][k] = box_nums[idx]
# 打印箱区
for k in range(CENG):
print(f"第{k+1}层")
for i in range(BEI):
for j in range(ZHAN):
print(f"{container[i][j][k]:2}", end=" ")
print()
print()
```
输出结果如下:
```
第1层
39 10 12 24
6 3 36 8
40 7 20 19
11 42 1 5
第2层
16 2 27 17
15 33 9 29
23 26 21 28
34 14 25 31
第3层
13 32 22 4
35 38 18 30
37 41 1 2
7 6 11 5
```
其中每个数字代表一个集装箱的编号。注意到每种编号的集装箱只出现了一次,符合题目要求。
阅读全文