设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
查看: 21200|回复: 15
打印 上一主题 下一主题

一道有趣的概率题

[复制链接]

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

跳转到指定楼层
楼主
发表于 2013-10-30 16:02:51 |只看该作者 |倒序浏览
昨晚睡觉前在手机上看到一道概率题,然后手机没电了,就躺在床上闭着眼算,算出来之后心满意足地去睡了:

有个人,生了俩孩子,已知其中一个是男孩,这个男孩的生日是星期二,问另一个小孩是男孩的概率。


有人不相信概率算出的结果,觉得和直觉看起来太不一样。这里写个程序模拟一下:
  1. one_tuesday_boy = 0
  2. one_tuesday_boy_plus_another_boy = 0
  3. for gender1 in ['m', 'f']:
  4.     for birth1 in range(1, 8):
  5.         for gender2 in ['m', 'f']:
  6.             for birth2 in range(1, 8):
  7.                 if (gender1 == 'm' and birth1 == 2) or (gender2 == 'm' and birth2 == 2):
  8.                     one_tuesday_boy += 1
  9.                     if gender1 == 'm' and gender2 == 'm':
  10.                         one_tuesday_boy_plus_another_boy += 1
  11. print one_tuesday_boy_plus_another_boy, '/', one_tuesday_boy
复制代码
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

21

主题

1

好友

373

积分

中级会员

Rank: 3Rank: 3

沙发
发表于 2013-12-20 15:08:37 |只看该作者

回帖奖励 +5

自己写的,还请老师指教。

图像 1.jpg (159.15 KB, 下载次数: 695)

图像 1.jpg

图像 2.jpg (17.65 KB, 下载次数: 679)

图像 2.jpg

回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

板凳
发表于 2013-12-20 22:25:03 |只看该作者
今天手气不错啊 发表于 2013-12-20 15:08
自己写的,还请老师指教。

有个小错误,第7行

所以算出来结果不对
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

21

主题

1

好友

373

积分

中级会员

Rank: 3Rank: 3

地板
发表于 2013-12-21 10:22:10 |只看该作者
crossin先生 发表于 2013-12-20 22:25
有个小错误,第7行

所以算出来结果不对

具体如何改呢?我把第七行的“boy”改成“girl”,还是不行
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

5#
发表于 2013-12-21 21:28:02 |只看该作者
今天手气不错啊 发表于 2013-12-21 10:22
具体如何改呢?我把第七行的“boy”改成“girl”,还是不行

应该是
  1. sex1=='boy' and birth1==2
复制代码
这样吧

表示第一个是星期二出生的男孩
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

21

主题

1

好友

373

积分

中级会员

Rank: 3Rank: 3

6#
发表于 2013-12-22 10:26:56 |只看该作者
crossin先生 发表于 2013-12-21 21:28
应该是这样吧

表示第一个是星期二出生的男孩

总算正确了。
谢谢老师

图像 1.jpg (3.48 KB, 下载次数: 683)

图像 1.jpg

回复

使用道具 举报

1

主题

0

好友

30

积分

版主

Rank: 7Rank: 7Rank: 7

7#
发表于 2014-2-2 14:12:24 |只看该作者

回帖奖励 +5

1/3
怎么弄成生孩子了
不是抛硬币的吗?
回复

使用道具 举报

1

主题

0

好友

30

积分

版主

Rank: 7Rank: 7Rank: 7

8#
发表于 2014-2-2 21:41:58 |只看该作者
我算错了
老师
请问range为啥是8不是7
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

9#
发表于 2014-2-2 23:39:59 |只看该作者
码界女神 发表于 2014-2-2 21:41
我算错了
老师
请问range为啥是8不是7

python里的range是[ , )区间,range(1,8)就是1<=x<8,就是1到7
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

0

主题

0

好友

558

积分

高级会员

Rank: 4

10#
发表于 2014-9-28 17:40:18 |只看该作者

回帖奖励 +5

先生,如果题目改成:“有个人,生了俩孩子。问:其中一个是男孩并且生日是星期二,同时另一个小孩也是男孩的概率?”
是不是也是这么算?
学习,纯粹。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-11-21 19:46 , Processed in 0.025779 second(s), 25 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部