python实现 有10个球分别3红、3蓝、4白,现需要将这10个球放入这3个盒子,要求每个盒子至少有一个白球。用函数封装。

1.用b=[[],[],[]]表示三个盒子,即里面的三个小列表。先抽出三个白球,依次放如三个盒子中,把剩下的球加在一起,遍历剩下的球并随机放入盒子中 

2.代码实现

import random


def box1():
    box = []

    for i in range(3):
        box.append([])
    # print(box)
    white_ball = []
    for i in range(4):  #生成一个列表['白球1','白球2','白球3','白球4']
        white_ball.append("白球%d" % (i + 1))
    red_ball = []     #生成红球列表
    for i in range(3):
        red_ball.append('红球%d' % (i + 1))
    blue_ball = []    #生成蓝球列表
    for i in range(3):
        blue_ball.append('蓝球%d' % (i + 1))
    for i in box:  # 先把白球分配给三个盒子
        ball_index = random.randint(0, len(white_ball) - 1) #随机生成一个序号即白球的下标,注意randint()函数左右值都可以取到
        a = white_ball.pop(ball_index)  #将上步取到的白球从白球列表中删除
        i.append(a)
    rest_ba
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

:一口蛋黄酥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值