首页 > 技术文章 > 你能中1000万吗

asis 2017-04-28 22:36 原文

每当心情不好,或是不如意的时候,总希望自己能中奖。中奖后,自动实现财务自由,下半辈子无忧无虑,想想换什么车,想想换哪里的房,想想就好美。

然而,中1000万的几率是多大呢?

假如彩票没有黑幕,是完全随机的,那我们写个程序来模拟一下吧。
大乐透是5个红球+两个蓝球,全部选中,1000万到手,看起来挺简单的。

那么,用python写个程序模拟一下吧,看看我的运气如何。

我选的号码是[3,4,12,16,28]+[5,12],我们看看电脑随机开出大乐透的号码,什么时候能开出我选中的这组。

if __name__ == "__main__":
	balls = [3,4,12,16,28,5,12]
	red = 5
	p = printer(red)
	l = lottery(p, balls, red)
	n = 1;
	while(l.draw(n) < 7):
		n += 1
	
	p.print_win(n, l.getBalls())

通过单元测试后,程序运行了很久。

半小时后,我想直接把进程结束掉。

我想应该是程序有bug。

它可能永远都不会结束。

不过,在运行了32分41秒后,它结束了。我选的号是[3, 4, 12, 16, 28] + [5, 12],在程序的世界里,我连续买了2500多万期,最后在25570417期,开出号码开奖的号码刚好就是我最初选择的号码,我中头奖了。

我很高兴,程序告诉我,我每期都买2元的大乐透,最后用了5000多万,用了163,912年,中奖了。

截图

汗,要不以后还是别买彩票了。或者,这程序有大bug,我写错了,但愿是写错了吧。

源码在 github - Syler - Fun

一脸懵逼

推荐阅读