鱼C论坛

 找回密码
 立即注册
查看: 1603|回复: 6

小白求助

[复制链接]
发表于 2019-8-7 22:29:11 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. '''

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

  7. '''
  8. print('red\tyellow\tgreen')
  9. for red in range(0, 4):
  10.     for yellow in range(0, 4):
  11.         for green in range(2, 7): # 绿球一共有6个 不应该是(2,8)吗?
  12.             if red + yellow + green == 8:
  13.                 print(red, '\t', yellow, 't', green)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-8-7 22:47:08 | 显示全部楼层
0, 4  意指,摸到 0 个 或 摸到 1, 2, 3个
range(2, 7) 意指,摸到 2, 3, 4, 5,6个。

好了,总结 就是range是指明摸到的概率。 并不是说你其中红球 3 个,黄球 3 个,绿球 6 个我就range多少。
如果照你这样理解,range(0,4) 也不对啊。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-8-7 23:35:04 | 显示全部楼层
本帖最后由 chordblue 于 2019-8-7 23:36 编辑

绿球一共就6个,range(2,8)会出现7这个值啊,哪来第7个绿球?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-8-8 05:20:26 | 显示全部楼层
for green in range(2, 7):

# 绿球一共有6个, 红球和黄球加起来共六个,
# 所以要摸出8个球,绿球不可能少于两个,range从2开始就可以了。
# 如果从0开始,绿球是0和1的情况根本不会符合条件,白白循环这两次,降低效率
# 但绿球一共6个,range到7结束,因为range(2,7)只会返回2,3,4,5,6 而不返回7
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-8 20:12:09 | 显示全部楼层
chordblue 发表于 2019-8-7 23:35
绿球一共就6个,range(2,8)会出现7这个值啊,哪来第7个绿球?

我现在想明白了  但是range(2, 8)是出来 2 ,3 ,4,5,6,7 六个值啊 不是7个值
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-8-8 20:33:12 | 显示全部楼层
学习永不止步 发表于 2019-8-8 20:12
我现在想明白了  但是range(2, 8)是出来 2 ,3 ,4,5,6,7 六个值啊 不是7个值

这些数字本身代表绿球会出现的个数,不是这些数字的个数代表绿球的个数啊,兄弟,你绕晕了。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-10 10:25:02 | 显示全部楼层
chordblue 发表于 2019-8-8 20:33
这些数字本身代表绿球会出现的个数,不是这些数字的个数代表绿球的个数啊,兄弟,你绕晕了。

ok
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-1-17 13:55

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表