Wpis z mikrobloga

#python

x = 25
epsilon = 0.01
step = 0.1
guess = 0.0

while guess <= x:
if abs(guess2 -x) >= epsilon:
guess += step

if abs(guess
2 - x) >= epsilon:
print('failed')
else:
print('succeeded: ' + str(guess))

Dlaczego ta pętla jest nieskończona? Wydaje mi sie,ze wartość guess powinna się zwiększać!
  • 6
@yras8:
Przy guess = 5 wartość abs(guess**2 -x) będzie wynosić równe zero. Wobec czego będzie mniejsze niż epsilon. A skoro będzie mniejsze, to instrukcja zwiększająca guess nie będzie wykonana. Zatrzyma się właśnie na 5 (czy tam tuż przed 5)
Natomiast pętla while będzie się wykonywać tak długo jak guess nie będzie równe 25. Czyli zawsze - skoro gdy guess dojdzie do 5 to już nigdy nie zostanie zwiększony.