gpt4 book ai didi

python - 即使条件评估为 true,代码也会跳过循环

转载 作者:行者123 更新时间:2023-11-30 23:35:42 25 4
gpt4 key购买 nike

我无法让程序的这一部分进入 while 循环。插入 polyx_0epsilon 的值后,程序使用以下函数计算 ans 的值evaluate_poly() 可以正常工作,并且在我的特定实例中给出答案 -13.2119。我使用的 epsilon 值为 0.0001。由于 abs(ans) 实际上大于 epsilon 为什么它会跳过循环?

我在 x_01 = 0 行的正下方放置了一个 print ans 语句,以确保它在 while 循环之前正确计算,并且还有一个 print epsilon 语句,以确保它正确接收我的 epsilon 值(确实如此)。

def compute_root(poly, x_0, epsilon):
"""uses newton's method to find a root of a polynomial function"""

ans = evaluate_poly(poly, x_0)
x_01 = 0

while abs(ans) > epsilon:

Dpoly = compute_deriv(poly)
Fprime = evaluate_poly(Dpoly, x_01)
return ans

x_01 = x_0 - (ans/Fprime)
print x_01
return x_01

print ans

最佳答案

您在循环中放置了两个 return 语句。当第一个被击中时,该函数仅立即退出。因此,不仅 while 循环在第一个循环中退出,而且永远不会到达 print 语句。

关于python - 即使条件评估为 true,代码也会跳过循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17127880/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com