README:
本教程主要讲python3,python2的小伙伴可以自行根据需求转换;
推荐在linux平台下操作,如果没有可以安装虚拟机,具体教程可以百度/谷歌;
推荐使用发行包anaconda3,具体安装方法可以百度;
我代码的测试环境的python版本是3.6.4。
我所选的题目大部分都来自于https://projecteuler.net/,大家可以自行查看参阅。
问题四:
利用python产生随机数得到圆周率pi的近似值。
问题分析1:
一个最简单的想法,就是利用均匀分布,产生一组(x,y)的序列,然后利用其落在圆内的频数除以总频数的得到pi的近似值。
代码1:(project4_01.py)
import random
if __name__ == "__main__":
total = 1000000
c = 0
for _ in range(total):
x = random.random()
y = random.random()
if x ** 2 + y ** 2
c += 1
pi = 4 * c / total
print("pi's estimation is %.8f" % pi)
跑了一些代码1,得到的结果在3.1401-3.1430之间,还是比较接近。
练习4:
利用均匀分布随机数生成正态分布随机数。
领取专属 10元无门槛券
私享最新 技术干货