四、高级变量练习#

分配球游戏#

1
2
需求:
有10个球分别3红、3蓝、4白,现需要将这10个球放入这3个盒子,要求每个盒子至少有一个白球,请用程序实现

分析:

1
2
3
4
1.定义三个容器保存三种球
2.定义三个盒子 嵌套列表
3.白球分配到三个盒子中
4.三个容器合并,再进行分配

代码:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import random
# 1.定义三个容器保存三种球
whiteBalls = ['白','白','白','白']
redBalls = ['红','红','红']
blueBalls = ['蓝','蓝','蓝']

# 2.定义三个盒子 嵌套列表
boxes = [[],[],[]]
# 3.白球分配到三个盒子中
for box in boxes:
    # 找到白球
    # 添加白球
    box.append(whiteBalls.pop(whiteBalls.index('白')))

# 4.三个容器合并,再进行分配
l = whiteBalls+redBalls+redBalls

whiteBalls.clear()
redBalls.clear()
blueBalls.clear()

for ball in l:
    index = random.randint(0,2)
    # 随机获取box
    box = boxes[index]
    # 添加球到盒子中
    box.append(ball)