一、圆周率的历史:
1、中国:
★魏晋时期,刘徽曾用使正多边形的边数逐渐增加去逼近圆周的方法(即「割圆术」),求得π的近似值3.1416。
★汉朝时,张衡得出π的平方除以16等于5/8,即π等于10的开方(约为3.162)。虽然这个值不太准确,但它简单易理解,所以也在亚洲风行了一阵。
★王蕃(229-267)发现了另一个圆周率值,这就是3.156,但没有人知道他是如何求出来的(ps.没开源呗!)。
★公元5世纪,祖冲之和他的儿子以正24576边形,求出圆周率约为355/113,和真正的值相比,误差小于八亿分之一。这个记录在一千年后才给打破。(ps.在大部分人不知股股定理年代,真牛!)
2、印度:
★约在公元530年,数学大师阿耶波多利用384边形的周长,算出圆周率约为√9.8684。
★婆罗门笈多采用另一套方法,推论出圆周率等于10的平方根。(ps.跟张衡大佬的结果一致,但过程不同)
3、欧洲:
★斐波那契算出圆周率约为3.1418。
★韦达用阿基米德的方法,算出3.1415926535★鲁道夫万科伦以边数多过32000000000的多边形算出有35个小数位的圆周率。
★华理斯在1655年求出一道公式π/2=2×2×4×4×6×6×8×8??/3×3×5×5×7×7×9×9??
★欧拉发现的e的iπ次方加1等于0,成为证明π是超越数的重要依据。
二、用python计算圆周率π
【方法】蒙特卡洛法
【程序设计思路】使用pythonrandom库随机生成点,落在正方形内,计算正方形内的圆内落点与正方形内落点之比,近似为面积之比,随机数越随机,数量越大越准确。
【软件环境】python3.6(本程序可兼容python2.x)
r = input("请输入半径")r = float(r)
s = 3.14*r*r
l = 2*3.14*r
print("面积是%.2f" %s)
print("周长是%.2f" %l)
注意:所有标点符号都是英文符号
from math import pi# 表面积为矩形和上下两个圆的面积之和# 圆面积S = Pi*r^2# 矩形面积 = 长 * 宽,宽即你说的输入的高度,长则为圆的周长 = Pi * 2 * rtry:r = float(input("请输入圆的半径:"))except Exception as e:print(e)exit()try:h = float(input("请输入柱体高度:"))except Exception as e:print(e)exit()# 计算圆面积circleArea = pi * pow(r,2)# 计算圆周长perimeter = pi * 2 * rsurfaceArea = 2* circleArea + perimeter * hprint("你输入的r是:{},h是:{},圆面积:{},矩形面积:{},表面积之和:{}".format(r,h,circleArea,perimeter * h,surfaceArea))