友情提示:380元/半年,儿童学编程,就上码丁实验室。
12 个球中,有 3 个红色的,3 个白色的, 还有 6 个黑色的。如果从中任意拿出 8 个球,请问有多少种不同的颜色搭配?
我们先来看红球白球的拿法,记住不管哪几种颜色,但要拿8个。先看一下下面这段循环嵌套:
这是Python里面的,我常常在Scratch中提到Python, 也是希望同学们都能学Python。有些小朋友看不懂上面三行没关系。我们只看下面的数字,两个一组、一行一行地看。找出其循环规律来启发一下。
我们看,如果左边的一列数是代表一种颜色,比如是红色球,可以从 0 开始,当红球是 0 时, 白球是不是可以是 0、1、2、3;同样当红色球是 1 时,白球是不是也可以是 0、1、2、3。…… 左边一列从头至尾是循环一次的大循环,而右边一列是循环了四次的小循环。这是循环嵌套。
至于黑球,我们可以用 8 减去红白球就是。只要记住,黑球只有6个,也就是黑球小于 7。
所以没有拿红球和白球是不行的,两种共只拿一个也是不行的。很多同学可能会马上拿笔,结果就要出来了。其实上面的截图中,去掉 00、01 和 10 就行了。
02、03、11、12、13、20、21、22、23、30、31、32、33。
为红球和白球。
再加上黑球:
026、035、116、125、134、206、215、224、233、305、314、323、332。
以上的思路是左边的一列数,即红球,是大循环,然后是白球第二个数,小循环。然后用不大于 6 即小于 7 的黑球把一次的总数补成 8 个。
然后再把红球、白球和黑球做成一个列表。电脑的思路与我们完全一样。你能单独做出这个积木程序吗?
注意:
第 13 个搭配显环是 332, 上面三个变量却显示是 442,为什么?
在程序中黑球是直接用 8 减去前面两种球的结果,所以都是 2。
但是红球和绿球却不同,变量显示 4 是因为在 0、1、2、3 中,3是第 4个位置上的元素,正如上面Python的例子中,为何也用的是两个 4。
试一试:
如果白球不是 3 个, 而是 5 个。会有多少种搭配呢?