ich habe in einem Kurs eine Aufgabe bekommen und muss diese nun Lösen.
Keien Angst ich möchte nciht die Lösung von euch wissen sondern habe ein anderes Problem
In der while schleife die erste "if"
dort möchte ich guess neu binden -> guess = round((low+high)/2,2)
leider behält aber guess die ganze zeit den initialen wert den ich am Anfang des scripts vergeben habe
Ich zermarter mir nun shcon den ganzen Tag den kopf und weiß nicht wo mein Fehler liegt.
Achtung vor Codeausführung: durch dieses nicht binden ist eine endloss schleife entstanden
Über eine Antwort würde ich mich sehr freuen
Chris
Code: Alles auswählen
balance = 10000
annualInterestRate = 8.0
low = round(balance/12,2)
high = round(balance*(1+(annualInterestRate/12)**12)/12,2)
guess = (low+high)/2
def rechnen(x,y,z): #x=balance, y=anualInterestRate, z=guess
i = 0
while i < 12:
i = i+1
x = (x - z) + ((x - z)*(y/12))
return x
while round(rechnen(balance,annualInterestRate,guess),2) != 0:
if round(rechnen(balance,annualInterestRate,guess),2) > 0:
low = guess
guess = round((low+high)/2,2)
print guess,'goesser'
if round(rechnen(balance,annualInterestRate,guess)) < 0:
high = guess
guess = round((low+high)/2,2)
print guess,'kleiner'
print 'guess:',guess