我无法让我的程序的这部分进入while循环。插入poly
,x_0
和epsilon
的值后,程序会使用功能ans
计算evaluate_poly()
的值,该函数可以正常运行实例给出答案-13.2119
。我使用的epsilon值是0.0001
。由于abs(ans)
实际上大于epsilon
,为什么它会跳过循环?
我在print ans
行的正下方添加了x_01 = 0
语句,以确保它在while循环之前正确计算,并且还有一个print epsilon
语句以确保它在我{ {1}}值正确(它确实如此)。
epsilon
答案 0 :(得分:2)
你在循环中放了两个return语句。当第一个被击中时,该功能仅立即退出。因此,不仅在第一个循环中退出while循环,而且永远不会到达print语句。
答案 1 :(得分:1)
你的循环中有return ans
。因此,此时函数将退出,永远不会到达print
。
如果ans
确实是-13.2119,那么它确实会进入循环,由于return
,它不会执行其中的所有内容。
即使您删除循环内的return ans
行,其末尾也会return x_01
。因此,在这种情况下,循环最多只运行一次,这将使其与if
语句相同。