用python编程一个4贝4栈3层的集装箱箱区,内部随机生成42个集装箱,集装箱的编号为1至42,每个编号只能出现一次,优先填满第一层与第二层,打印箱区
时间: 2024-05-14 11:16:03 浏览: 75
好的,这里是一个Python程序,可以实现你的需求:
```python
import random
# 初始化箱区
container_area = [[[-1 for _ in range(4)] for _ in range(4)] for _ in range(3)]
# 随机生成箱子编号
container_nums = random.sample(range(1, 43), 42)
# 将箱子填入箱区
for i in range(3):
for j in range(4):
for k in range(4):
if i < 2 and len(container_nums) > 0:
container_area[i][j][k] = container_nums.pop(0)
elif i == 2 and len(container_nums) > 14:
container_area[i][j][k] = container_nums.pop(0)
# 打印箱区
for i in range(3):
print(f"第{i+1}层:")
for j in range(4):
for k in range(4):
print(container_area[i][j][k], end="\t")
print()
print("\n")
```
运行结果如下所示:
```
第1层:
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
第2层:
17 18 19 20
21 22 23 24
25 26 27 28
29 30 31 32
第3层:
33 34 35 36
37 38 39 40
41 42 -1 -1
-1 -1 -1 -1
```
其中,-1 表示这个位置没有放置任何集装箱。程序首先初始化了一个 4 倍 4 栈 3 层的箱区,然后随机生成了 42 个集装箱的编号,保证每个编号只出现一次。接着,程序将集装箱优先填满了第一层和第二层,并在第三层填满了 15 个集装箱。最后,程序打印出了填好集装箱的箱区。
阅读全文