Вот функция с итерационным циклом while для вычисления синуса небольших аргументов (число шагов итерационного цикла заранее неизвестно):
def sin(x):
y, p, s, q = - x * x, x, x, 1
while abs(p) > 1e-17:
q += 2; p *= y/(q*(q-1)); s += p
return s
А вот основная программа с параметрическим циклом for, вызывающая вышеприведённую функцию. Она вычисляет интеграл ∫[a;b]sin(x)dx:
a, b, n = input('a b n: ').split()
a, b, n = float(a), float(b), int(n)
h = (b-a)/h; hp = h/2; u, v = sin(b-hp), 0
for i range(1, n):
x = a+i*h; u += sin(x-hp); v += sin(x)
print((sin(a)+sin(b)+4*u+2*v)*h/6)