2020-04
17

51%的概率

By xrspook @ 22:15:06 归类于: 扮IT

思路很简单,但要得出这个概率结论要重复多少次呢?脚本写好以后我先用了10次,100次,1000次,效果都不好,数字太漂浮,于是我都怀疑自己了。搜索之后发现别人用MATLAB写了个大体意思跟我一样的程序,他重复了100万次,好吧,我懂了!本来这种扔随机数进去的测试重复就应该趋向于无穷,但试过你就知道,100万次绝对让你的电脑卡到怀疑死机了。所以我狡猾地控制百分数只输出整数,10万次有点卡(我的破电脑等待结果大概需要4秒),但还可以接受。

Exercise 8:This exercise pertains to the so-called Birthday Paradox, which you can read about at http://en.wikipedia.org/wiki/Birthday_paradox. If there are 23 students in your class, what are the chances that two of you have the same birthday? You can estimate this probability by generating random samples of 23 birthdays and checking for matches. Hint: you can generate random birthdays with the randint function in the random module. You can download my solution from http://thinkpython2.com/code/birthday.py.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import random
def chance(num):
    n = 0
    x = 100000 # 越大越好,但太大了运行慢到怀疑人生…… 1W小卡,10W卡,100W非常卡!
    for i in range(x):
        birth = []
        for i in range(num):
            birth.append(random.randint(1, 365))
        birth.sort()
        for i in range(num - 1):
            if birth[i] == birth[i+1]:
                n += 1
                break
    return n/x
num = 23
print('chance is', '{:.0%}'.format(chance(num)))
# chance is 51%  x = 10W 百分数显示小数将会是个测试噩梦!!!
2020-04
17

我想知道

By xrspook @ 10:19:42 归类于: 烂日记

验证出某些数学定理是一件非常酷的事,但我为什么要那么干呢?所以当Think Python的习题要我做那种事的时候,我会莫名其妙地产生一些弱弱的抗拒心理。有时,留存在我脑海的数学知识根本不足以让我理解那些符号到底要我做什么。我不知道为什么写这本书的人觉得读者都明白那些数学符号是要干些什么的,他们面向的到底是什么知识层面的读者呢?那些符号在中国的教育系统里,大概高中中等水平以上的学生会懂。作为一个大学生,理论上我应该全懂那些东西到底是什么意思。倒不是要你真的算出来,但你起码得知道他们要你做些什么。时间是把杀猪刀,中国的应试教育使得大家在离开学校多年以后,如果期间又长期不用,通常都不会记得那些东西,大概只会隐约记得曾经学过。还记得小学的时候,我的某个同学很抗拒学数学,他觉得生活中最简单的加减乘除就能解决几乎所有问题,当然这个所有问题只是他眼中、他当时所遇到的那些。

为什么要学数学?我不知道。有些时候我觉得数学真的很有趣。大概是因为我觉得其中的某些规律会让我惊叹不已。那些规律不是人类创造出来的,是大自然母亲孕育出来的,我们只是逐步知道了那些东西的存在,逐步开始利用那些规律做某些事。之所以某些时候我会有点害怕数学,是因为我是个吊儿郎当的人,即便我懂得某些规律,但是在不断重复的过程中,做着做着我就出错了。小学时计算之所以出错,倒不是因为我乘法表背得不好,而是因为我的字写得太丑,为了图快,字写着写着连我自己都不认得到底是什么。计算机不会因为正常重复而犯错误,如果真的崩了,必定是制定的规则有问题。还记得小学时候影响我最深的那个数学老师,非常看重数学的思维,而不是数学重复计算本身。我的运气非常好,小学、初中、高中,我都分别遇到了一个影响我一生的数学老师。在我印象之中,其他老师从来没有这么深刻地影响过我,虽然他们其中的某些对我来说很重要,我也非常喜欢。也有一些老师是我很不喜欢的,但不喜欢归不喜欢,我不会因为那个就故意搞砸自己那一门课的成绩,反而,我要拿出更优秀的成绩向他们示威。当然,有些时候,我不够强大,所以想示威也无能为力。我的学习不是为了跟老师较劲。

学生时代,为什么要学习?为什么要把题目解答正确?其实当时我完全没有考虑过这些问题,我也没有时间考虑除了用一种方法,还能不能用其它方法得出同样的答案。这里的发散应该包括除了那个参考答案以外,某道题是否还会存在其它情况,还会出现其它答案吗?很多时候,我们的时间就只够解答那道题,根本没有闲情考虑那道题如果改变了某些参数,会不会出现一些比较颠覆的结果。做作业时的我们,又或者考试时的我们,干掉这道题以后就直奔下一道。如果每次都胡思乱想,作业无论如何都做不完,考试就更别想可以在规定时间之内完成答题。

后来我才发现,如果人要真的有所得,要认真地学习研究,除了理解某个知识以外,还必须有一定的自主思考的空间与时间。我们不应该一直被别人牵着鼻子去发散,而应该学会主动地脑洞大开。很多时候,别人会用某个分数衡量我们,或许是通过考试,或许是通过讨论,但那个真的就代表我们吗?能定义我们的只有我们自己。

我们之所以要探寻,我们之所以要纠结,是因为我们想知道、想做得更好。

© 2004 - 2024 我的天 | Theme by xrspook | Power by WordPress