lymbwx 发表于 2026-6-3 09:44:21

有红、黄、蓝三种颜色的求,其中红球 3 个,黄球 3 个,绿球 6 个。先将这 12 个球...

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)


实践出真知

FishC 发表于 2026-6-3 09:44:33

这是一个关于组合枚举的小练习。代码通过三层循环,列出从红、黄、绿三种球中取出总共8个球的所有可能情况,其中红球最多3个,黄球最多3个,绿球最少2个(因为题目可能要求绿球至少2个),最多6个。


[*]外层循环:for red in range(0, 4) 表示红球个数从0到3。
[*]中层循环:for yellow in range(0, 4) 表示黄球个数从0到3。
[*]内层循环:for green in range(2, 7) 表示绿球个数从2到6。
[*]条件判断:当 red + yellow + green == 8 时,输出这组数。


输出结果会用制表符分隔,格式如下:


red        yellow        green
0         2         6
0         3         5
1         1         6
1         2         5
1         3         4
2         0         6
2         1         5
2         2         4
2         3         3
3         0         5
3         1         4
3         2         3
3         3         2


可以看到,所有可能的组合都列举出来了。这就是枚举法(暴力搜索)的典型应用,适合初学者练习循环和条件判断。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页: [1]
查看完整版本: 有红、黄、蓝三种颜色的求,其中红球 3 个,黄球 3 个,绿球 6 个。先将这 12 个球...