python输出数值

据公式π/4=1-1/3+1/5-1-7+....+(-1)^(n-1)*(1/(2*n-1))编写程序计算上述表达式的值,知道第n项(-1)^(n-1)*(1/(2*n-1))的绝对值小于1e-6,输出π的值

根据表达式写程序就行,可以这样写:

def pi_f(error):
    n=1
    sum=0

    while abs((-1)**(n-1)*1/(2*n-1))>=error:
        sum=sum+(-1)**(n-1)/(2*n-1)
        n+=1
        
    return ("当n={}时,pi={:.10f},此时error小于{}".format(n,sum*4,error))
pi_f(1e-6)
'当n=500001时,pi=3.1415906536,此时error小于1e-06'

您好,我是有问必答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

找出表达式数列的规律,转换成表达式操作就可以了。