Python小作业 列举红黄绿小球的组合

有红、黄、蓝三种颜色的球,其中红球 3 个,黄球 3 个,绿球 6 个。先将这 12 个球混合放在一个盒子中,从中任意摸出 8 个球,编程计算摸出球的各种颜色搭配。
代码如下:
i = 1
for nr in range(0, 4): # nr : number of red balls 红球个数
    for ny in range(0, 4): # ny : number of yellow balls 黄球个数
        if nr + ny >= 2:
            print('第{0}次组合为'.format(i))
            print('红球数目为:{0}'.format(nr))
            print('黄球数目为:{0}'.format(ny))
            print('绿球数目为:{0}'.format(8 - nr - ny))
            i += 1
下面将此程序拆分,分块讲解:
  1. 一共要拿出8个球,而绿球的数目6个,换句话来说,红球加上黄球的数目至少为2。剩下的其实就是让电脑自己进行迭代,然后只要满足”条件“,就将小球的数量输出。那么”条件“是什么呢?

  2. 条件 假设取出的红球数目为nr,黄球数目为ny,那么只需要红黄绿三色球加起来等于8个就好了,再结合(1),那么条件就是nr + ny >= 2

  3. 关于.format的用法可以参考我之前的一篇博客

  4. 关于两个for循环,实际就是给电脑这么一列数去判断
    对于外层的for循环
    第一步:nr = 0 then ny = 0, 1, 2, 3
    第二步:nr = 1 then ny = 0, 1, 2, 3
    第三步:nr = 2 then ny = 0, 1, 2, 3
    第四步:nr = 3 then ny = 0, 1, 2, 3
    例如拿第四步举例,从最外层for

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值