Как упоминается в комментариях pault, ваш возврат находится внутри цикла, что означает, что функция завершается на первой итерации.
Что вам, вероятно, нужно, это yield
, что превратит функцию в генератор:
import math
def Euler(a,b,N,alpha):
h=(b-a)/N
t=a
w=alpha
for i in range (0,N):
w=w+h*(math.exp(t-w))
t=a+(i*h)
yield t,w
for x, y in Euler(0,1,2,1):
print(x, y)
>>> 0.0 1.1839397205857212
>>> 0.5 1.3369749844848988