Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python基础数学_Python_Python 3.x - Fatal编程技术网

Python基础数学

Python基础数学,python,python-3.x,Python,Python 3.x,现在,在你们开始否决这个问题之前,让我解释一下,我还很年轻,正在努力学习python。我在学校里根本没有任何资源来学习这种数学 我正在做一个练习,上面写着: 编写一个名为myPi的函数,该函数将返回PI的近似值 (3.14159...). 使用莱布尼兹近似。 位于此处: 因此,他们展示了如何这样计算: 我不知道如何在python中计算它。我的意思是,我甚至不知道如何正常地计算它,因为我如何计算无限的东西 还有一个问题是。我真的需要这样的高等数学来编写程序吗?我的许多朋友在12/13岁时就学会了

现在,在你们开始否决这个问题之前,让我解释一下,我还很年轻,正在努力学习python。我在学校里根本没有任何资源来学习这种数学

我正在做一个练习,上面写着:

编写一个名为myPi的函数,该函数将返回PI的近似值 (3.14159...). 使用莱布尼兹近似。 位于此处:

因此,他们展示了如何这样计算:

我不知道如何在python中计算它。我的意思是,我甚至不知道如何正常地计算它,因为我如何计算无限的东西


还有一个问题是。我真的需要这样的高等数学来编写程序吗?我的许多朋友在12/13岁时就学会了编程,他们没有任何问题。那么高等数学有那么重要吗?由于我怀疑我的朋友们在学习时,甚至知道如何计算圆的面积。

要解决第一个问题,“如何计算无限级数”,答案是近似它,通常使用以下任一方法:

  • 定义的
    步骤数(“我希望它用这么长的时间”);或
  • 直到每一步的变化低于规定的公差(“我希望它如此精确”)
  • 为了说明这些(这里有一些相对高级的Python-
    leibniz_series
    是一个生成器,用于删除两个实现之间的一些重复代码,只要您不断询问它们,它就会在该系列中大量生成术语):

    至于第二个问题,“你需要知道(高等)数学来编程吗”,答案实际上是“这取决于你在做什么”。你想用物理引擎写一个游戏吗?如果没有运动方程,那是很难做到的!但是,除了处理索引到列表等所需的加法和减法之外,您还可以做其他一些事情


    这个具体的练习更多的是关于使用软件执行重复性任务,而不是关于实际计算pi(可以通过
    math.pi
    获得!)如果您在这个阶段还没有完全理解数学,请不要担心;重要的是能够理解任务(对某些莱布尼兹级数求和,将结果乘以4)以及如何将其分解为可以在代码中表示的步骤。

    要解决第一个问题,“如何计算无穷级数”,答案是近似它,通常使用以下任一方法:

  • 定义的
    步骤数(“我希望它用这么长的时间”);或
  • 直到每一步的变化低于规定的公差(“我希望它如此精确”)
  • 为了说明这些(这里有一些相对高级的Python-
    leibniz_series
    是一个生成器,用于删除两个实现之间的一些重复代码,只要您不断询问它们,它就会在该系列中大量生成术语):

    至于第二个问题,“你需要知道(高等)数学来编程吗”,答案实际上是“这取决于你在做什么”。你想用物理引擎写一个游戏吗?如果没有运动方程,那是很难做到的!但是,除了处理索引到列表等所需的加法和减法之外,您还可以做其他一些事情


    这个具体的练习更多的是关于使用软件执行重复性任务,而不是关于实际计算pi(可以通过
    math.pi
    获得!)如果您在这个阶段还没有完全理解数学,请不要担心;重要的是能够理解任务(对莱布尼茨级数的一些求和,将结果乘以4),以及如何将其分解为可以在代码中表示的步骤。

    < p>实际解决问题,考虑以下内容:

    approximate_pi(iterations):
        return 4*sum([(-1)**n/(2*n+1) for n in range(iterations)])
    
    总和的分数部分为:

    -1/3+1/5-1/7+1/9 ...
    
    这里的模式是什么?首先,符号明显地交替出现在每个数字上。接下来,denumerator从
    3
    开始,然后每次迭代都向其添加
    2
    。当与
    1
    的初始值相结合时,我们将得到wiki页面上表示的数学和

    Sum(-1^n/(2n+1))
    
    如何用代码表示这一点

    好的,在99%的编程语言中,如果你试图表达一个求和,它是一个基于输入数(n)的公式,然后用在(n+1)处计算的值加上它本身,你应该考虑循环的
    。在python中,我们可以将该总和表示为:

    def approximate_pi(iterations):
        sum = 0
        for n in range(iterations):
            sum += (-1)**n/(2*n+1)
        return sum*4
    
    给定有限的迭代次数,这将计算π值的近似值。
    iterarios
    越大,结果越准确,但运行时间会增加

    然而,Python有一些快捷方式使这变得更加容易。第一个是内置函数
    sum
    ,它返回将列表中的数字相加的结果。下一个是
    列表理解
    ,它从一些输入参数生成一个列表。这将我们原来的功能简化为:

    approximate_pi(iterations):
        return 4*sum([(-1)**n/(2*n+1) for n in range(iterations)])
    

    这是在做基本相同的一系列操作,只是以一种对python更有效的方式(因为循环在python中是昂贵的),并且实际上看起来更接近原始的纯数学符号
    approximate_pi(iterations):
        return 4*sum([(-1)**n/(2*n+1) for n in range(iterations)])
    
    总和的分数部分为:

    -1/3+1/5-1/7+1/9 ...
    
    这里的模式是什么?首先,符号明显地交替出现在每个数字上。接下来,denumerator从
    3
    开始,然后每次迭代都向其添加
    2
    。当与
    1
    的初始值相结合时,我们将得到wiki页面上表示的数学和

    Sum(-1^n/(2n+1))
    
    如何用代码表示这一点

    在99%的编程语言中,如果你想表达一个和,这是一个基于输入n的公式