Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.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 3.x 如何在python中从0求和到无穷大?_Python 3.x - Fatal编程技术网

Python 3.x 如何在python中从0求和到无穷大?

Python 3.x 如何在python中从0求和到无穷大?,python-3.x,Python 3.x,这是一段代码,它试图建立一个近似pi值的公式。它在“k>1e-15”行中给了我一个错误,我不知道为什么。我希望代码返回我在公式变量中编写的公式的总和,每次都将k值更改1,直到最后一项小于1e-15 您不能创建到无穷大的范围- 要使计算机继续运行,可以使用while循环: import math k = 0 def factorial(k): if k == 0: return 1 else: return k * factorial(k - 1)

这是一段代码,它试图建立一个近似pi值的公式。它在“k>1e-15”行中给了我一个错误,我不知道为什么。我希望代码返回我在公式变量中编写的公式的总和,每次都将k值更改1,直到最后一项小于1e-15

您不能创建到无穷大的范围- 要使计算机继续运行,可以使用while循环:

import math
k = 0
def factorial(k):
    if k == 0:
        return 1
    else:
        return k * factorial(k - 1)


formula = (((factorial(4 * k)) * (1103 + 26390 * k)) / ((factorial(k) ** 4)) * (396 ** (4 * k)))

    while k > (1e − 15):
        for k in range ():
        if k == 0:
            return k
        else:
            return k + formula
        print(summation(k, formula))

value_wanted = ((2* math.sqrt(2)) / 9801) * summation(k)
print('1/pi equals' , value_wanted )
但是,正如您所看到的,这段代码有一个缺点,它永远不会结束,因为计算机将忙于依赖和依赖: 普通的数值计算方法不能算作“无穷大”——在继续实验之前,你应该先看看无穷大的数学概念


如果你想进行数值计算,只需选择一个“足够大”的数字。对于可以考虑无穷大的代数分辨率,请检查软件包。

什么错误?请阅读并改进问题。还要注意的是,缩进在python中很重要,而您的缩进远远不够。您使用的编辑器是什么?由于
(1e)中的减号,您得到了
语法错误:标识符中的字符无效−15) 
不是普通连字符,而是unicode字符减号<代码>unicodedata.name('−')将告诉您这一点。请修复缩进
k = 0
while True:
    k += 1
    ...