我是编程新手。我们班正在使用Python。我试图在k = [0,5]的范围内计算pi的值,并输出表示k的值和pi的结果值的结果。我们必须使用的等式是π=√12+( - 3)^ k / 2k + 1。以下是我的代码。我可能做错了什么,但不知道。谢谢你的帮助。
k = range(0,5)
print("k:", list(k) )
series = [i+i for i in k]
print("series:", series)
sum = sum(series)
pi = math.sqrt(12)
numerator = (-3)pow(k)
denominator = 2(series) + 1
var = numerator/denominator
calculation = value/var
print("calculation")
答案 0 :(得分:0)
欢迎使用StackOverFlow。
因此,您的代码存在一些问题:
首先,您应该在代码的开头加上import math
语句(除非您只是将其排除在外)。这样您就可以使用math.sqrt()
和math.pow()
接下来的事情是,对于说numerator = (-3)pow(k)
的行,您应该改写
numerator = math.pow(-3, k)
math.pow中的第一个参数是您正在使用的数字,第二个参数是应用于该数字的指数。
所以你的代码应该是这样的:
import math
k = range(0,5)
print("k:", list(k) )
series = [i+i for i in k]
print("series:", series)
sum = sum(series)
pi = math.sqrt(12)
numerator = math.pow(-3,k)
denominator = 2(series) + 1
var = numerator/denominator
calculation = value/var
print("calculation")
即便如此,我们仍遇到一些问题...... 您尝试将-3提高到k幂,但是您将k初始化为范围,从0到5.您无法执行此操作。
你想要将-3提高到k的功率,k是0到5之间的每个数字。因此,考虑到这看起来像是一个功课问题,你必须弄清楚如何使用每个数字范围,并将其设置为k。然后计算k = 0的pi值,然后计算k = 1,然后打开。
如果您还不允许使用循环,则可能需要考虑使用for循环或列表理解。
否则 ,请看看其他StackOverflow post
答案 1 :(得分:0)
我必须为我的Python类解决同样的问题,但它是(-3)^ - k。我想知道你是否犯了抄写错误。如果是这样,您可能会有更好的结果。