奥利奥达芬奇 发表于 2020-2-27 18:45:30

关于三色球问题,颜色组合的统计怎么打印出来

三色球问题如下:有红、黄、蓝三种颜色的求,其中红球 3 个,黄球 3 个,绿球 6 个。先将这 12 个球混合放在一个盒子中,从中任意摸出 8 个球,编程计算摸出球的各种颜色搭配。

print('red\tyellow\tgreen')
for red in range(0, 4):
    for yellow in range(0, 4):
      for green in range(2, 7):
            if red + yellow + green == 8:
                # 注意,下边不是字符串拼接,因此不用“+”哦~
                print(red, '\t', yellow, '\t', green)


我想请问下有没有一个内置函数,或者用什么方法,能统计摸出来球的颜色组合可能数。比如任意摸8个球,有13种可能。这个13种怎么打印出来

奥利奥达芬奇 发表于 2020-2-27 18:46:46

不仅仅是把每种可能列出来,还要统计有多少种,总不能一个一个数吧

wuqramy 发表于 2020-2-27 18:49:02

print('red\tyellow\tgreen')
count = 0
for red in range(0, 4):
    for yellow in range(0, 4):
      for green in range(2, 7):
            if red + yellow + green == 8:
                # 注意,下边不是字符串拼接,因此不用“+”哦~
                print(red, '\t', yellow, '\t', green)
                count += 1
print('共有' + str(count) + '种可能')
试试看。

qiuyouzhi 发表于 2020-2-27 18:56:25

本来就是用来锻炼你编程的
你要真想用这个就打包成一个函数,
放在一个.py文件里,然后放到
Python安装目录\\Lib\\site-packages里
用的时候import就好了

奥利奥达芬奇 发表于 2020-2-27 19:03:03

wuqramy 发表于 2020-2-27 18:49
试试看。

我当时是把count放在了count+=1上一行,所以不行,是因为整个for语句算是一个大的循环体是嘛

wuqramy 发表于 2020-2-27 19:07:22

奥利奥达芬奇 发表于 2020-2-27 19:03
我当时是把count放在了count+=1上一行,所以不行,是因为整个for语句算是一个大的循环体是嘛

是的,要在循环之前给count赋值,否则循环一次便清零,最后count只会=1。

象棋爱好者 发表于 2020-9-5 14:08:56

鱼币

hornwong 发表于 2020-9-5 20:42:21

渔币

yg飞许 发表于 2023-1-11 20:30:06

{:10_256:}
页: [1]
查看完整版本: 关于三色球问题,颜色组合的统计怎么打印出来