习题四 编写函数,计算圆周率。存在圆心在直角坐标系原点且半径为 1 的圆及其外切正方形。为计算方便,仅考虑位于第一象限的四分之一正方形和四分之一圆。随机生成该四分之一正方形中一系列点,散布于四分之一圆内比例即为圆周率四分之一。散步点越多,结果越精确,耗时也越长。
5条回答 默认 最新
关注
from random import random from math import sqrt N=eval(input("请输入次数:")) #散在园内部点为0 K=0 #循环撒点的过程看成是遍历循环的过程,用for in range对所有点进行抛洒 for i in range(1,N+1): # 定义x,y当作两个随机数的坐标值,这个坐标就是圆的抛点 x,y=random(),random() # 如何判断这个坐标就在圆内呢?判断这个点到圆心的距离是否等于1 dist =sqrt(x**2+y**2) if dist<=1.0: K=K+1 #用这个值比上整个区域值 pi=4*(K/N) print("圆周率值:{}".format(pi))
运行结果
请输入次数:666666 圆周率值:3.1404271404271404
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 2无用
悬赏问题
- ¥15 Stata链式中介效应代码修改
- ¥15 latex投稿显示click download
- ¥15 请问读取环境变量文件失败是什么原因?
- ¥15 在若依框架下实现人脸识别
- ¥15 网络科学导论,网络控制
- ¥100 安卓tv程序连接SQLSERVER2008问题
- ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
- ¥15 metadata提取的PDF元数据,如何转换为一个Excel
- ¥15 关于arduino编程toCharArray()函数的使用
- ¥100 vc++混合CEF采用CLR方式编译报错