首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >圆周率逼近程序

圆周率逼近程序
EN

Stack Overflow用户
提问于 2015-06-09 21:00:08
回答 3查看 121关注 0票数 0

这个问题要求编写一个程序,使用forumla pi =4/1-4/3+4/5-4/7+…

我必须提示用户列中的术语数,并计算近似值。这就是我试过的程序

代码语言:javascript
复制
import math

def main():

     dummy = 4.0
     term = 0.0
     n = 0.0

     print("This program approximates the value of pi")
     n = eval(input("Enter the number of terms you want in the approximation: ")


     for i in range(1, n+1)
              term = 4/(2n+1)
              dummy = dummy + ((-1)**n) * term

     print("The approximation is ", dummy)
     print("The difference between pi and the approximation is ", math.sqrt((math.pi - dummy)**2))

但是,当我试图运行它时,我会得到错误消息“无效语法”,变量"term“将以红色高亮显示。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-06-09 21:02:46

您忘记了这行末尾的冒号:

代码语言:javascript
复制
for i in range(1, n+1):
                      ^ missing

每当您在看起来正确的行上出现语法错误时,尝试在错误之前查看行,以确定是否正确。

您还忘记了这行末尾的)

代码语言:javascript
复制
     n = eval(input("Enter the number of terms you want in the approximation: ")
票数 1
EN

Stack Overflow用户

发布于 2015-06-09 21:03:39

缺少操作符*

代码语言:javascript
复制
term = 4/(2n+1)

更改为

代码语言:javascript
复制
term = 4/(2*n+1)
票数 2
EN

Stack Overflow用户

发布于 2015-06-09 21:02:51

你错过了":“在for语句的末尾:

代码语言:javascript
复制
for i in range(1, n+1):
          term = 4/(2*n+1)
          dummy = dummy + ((-1)**n) * term
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30742724

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档