On Tue, Dec 26, 2017 at 12:36 AM, Nico Vogeli <nicco.9...@gmail.com> wrote: > Hi everybody. First ad foremost, happy Christmas!
Same to you! > I want to let the use input a function (like x**2) and parse it after that > through code (for my numeric class) > > def newton(x0, s, s2, tol, n = 20000): > ''' > Näherung zur lösung einer Gleichung mit dem Newton-Verfahren > x0 = Startwert > f = zu lösende Funktion > fx = Ableitung der Funktion > > ''' > def f(a): > y = s > return y > > def fx(a): > y = s2 > return y > newton(2, 3*x**2, 6*x, 0.1, 2) > > I notice that the x is not converted to an integer, because of the x = > symplos('x') > But I don't know how I could possibli change the code to work... The easiest way is to pass a *function* to newton(). It'd look like this: def newton(x0, f, fx, tol, n=20000): ... as before, but without the nested functions newton(2, lambda x: 3*x**2, lambda x: 6*x, 0.1, 2) At least, I think that's how you're doing things. Inside the nested functions, you use 'a', but outside, you use 'x'. Are those representing the same concept? If so, the lambda functions given here will have the same effect. Hope that helps! ChrisA -- https://mail.python.org/mailman/listinfo/python-list