我是靠谱客的博主 瘦瘦超短裙,最近开发中收集的这篇文章主要介绍我的Python学习之路(4)今日学习内容,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

今日学习内容

1.跟随视频课程,学习了Python分支结构、循环结构、异常处理等语法内容
2.掌握并了解Python基本库中的random库随机函数的用法
3.根据所学内容应用并求解圆周率,我使用了两种方法来计算圆周率,分别是近似公式法和蒙特卡罗法
(1)近似公式法
公式:
近似公式法
源代码:

#CalPi.py
Pi = 0
N = 10000
for k in range(N):
    Pi += 1 / pow(16, k) * (4 / (8 * k + 1) - 2 / (8 * k + 4) - 1 / (8 * k + 5) - 1 / (8 * k + 6))
print("圆周率的值:{}".format(Pi))

(2)蒙特卡罗法:
基本思想:百度百科
蒙特卡罗法

源代码:

#CalPi2.py
import random
import time

Darts = 1000*1000
inside = 0.0
start = time.perf_counter()
for i in range(1, Darts + 1):
    x, y = random.random(), random.random()
    distance = pow(x ** 2 + y ** 2, 0.5)
    if distance <= 1.0:
        inside += 1
Pi = 4 * (inside / Darts)
print("圆周率约是:{}".format(Pi))
print("运算时间是:{:.5f}s".format(time.perf_counter() - start))

总结:经过两种方法的比较,近似公式法求解圆周率速度较快,但当小数点后的位数更大时,数据不够精准。蒙特卡罗方法相反,运行时间较长,但当小数点后位数足够大时,其计算出的数值更加准确。本例中所有散点的规模为1000*1000,也就是一百万,远远不能够体现蒙特卡罗方法的准确性,需要更多的散点数量及更好的算法设计来体现。
注:本文是博主本人学习的日常记录,不进行任何商用所以不支持转载请理解!如果你也对Python有一定的兴趣和理解,欢迎随时找博主交流~

最后

以上就是瘦瘦超短裙为你收集整理的我的Python学习之路(4)今日学习内容的全部内容,希望文章能够帮你解决我的Python学习之路(4)今日学习内容所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部