python —— 二次方程求解 x**2-x-1==0 为例

代码 1:

# x**2-x-1==0


for x in range(2*10_00000):
    x = x/100000.0  # 0 10
    if int((x**2-x-1)*100000) ==0 :
        print(x)
        break



代码 2:

for x in range(2*10_00000):
    x = x/100000.0  # 0 10
    if abs(x**2-x-1)<0.00001 :
        print(x)
        break



代码 3:

x = 0  # x**2-x-1== -1 <0
y = 100  # x**2-x-1    >0 

for c_time in range(10000):
    z = (x+y)/2
    if z**2 - z - 1 > 0:
        y = z
    elif z**2 - z - 1 < 0:
        x = z 
    
    if abs(z**2 - z - 1)<0.00001:
        print(z, c_time)
        break



代码 4:

x = 0  # x**2-x-1== -1 <0
y = 100  # x**2-x-1    >0 

z = (x+y)/2
while abs(z**2 - z - 1)>0.00001:
    if z**2 - z - 1 > 0:
        y = z
    elif z**2 - z - 1 < 0:
        x = z 
    z = (x+y)/2
print(z)




运行效果:

image




posted on 2025-12-13 20:02  Angry_Panda  阅读(1)  评论(0)    收藏  举报

导航