首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >sqrt的二分法程序(2)

sqrt的二分法程序(2)
EN

Stack Overflow用户
提问于 2017-03-01 12:09:08
回答 1查看 528关注 0票数 0

我的任务是编写一个程序来执行二分法,以求解具有6次二分法迭代的sqrt(2)。这是我的代码。我不能让它在整个过程中或最后打印这些值,我也不确定为什么。

代码语言:javascript
运行
复制
import math
>>> def f(x):
    return (x**2)-2

>>> def bisect (a,b,n):
    while n < 6:
        c=(a+b)/2
    if f(c) == 0:
        print [('Root is: ', c)]
    elif f(a)*f(b) > 0:
        b=c
        n=(n+1)
        print [('n: ',n,' c: ',c)]
    else:
        a=c
        n=(n+1)
        print [('n: ',n,' c: ',c)]


>>> print bisect (0,1,0)
SyntaxError: invalid syntax
>>> print bisect (0,1,0):

SyntaxError: invalid syntax
>>> 
EN

回答 1

Stack Overflow用户

发布于 2017-03-01 12:30:13

我立即看到了两个问题。首先,在Python3中,您需要使用括号将您想要打印的内容(即print(bisect(0,1,0)))括起来。这就是导致语法错误的原因。其次,除非缩进错误,否则您的二等分函数将以无限循环开始,因为它会在n <6时重复,但不会增加n。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42523016

复制
相关文章

相似问题

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