Python

Как работает цикл for и While. Напишите пример

Вот функция с итерационным циклом 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)
МА
Матяшов Александр
66 572
Лучший ответ
while - условный цикл, будет работать пока условие True. Например калькулятор факториалов:
 x = int(input())
count = 0
y = 1

while count < x:
count += 1
y *= count
print(y)
Цикл станет бесконечным если условие цикла всегда будет True.
Цикл for - параметровый цикл. Обычно его используют для некого количества повторений однообразного действия с помощью команды range(). Например рисование квадрата с модулем turtle:
 from turtle import*

for i in range(4):
forward(100)
left(90)
for i in range(число1, число2, шаг) - перебирает i от числа 1 до числа 2, используя шаг, если указать только 1 число будет браться от 0 до этого числа

например
for i in range(10):
print(i)
выдаст
0
1
2
и т.д

for s in arr - работает аналогично только вместо цифр перебирает все значения в списке arr

arr=[2,4,6]
for s in arr:
print(s)

выведет
2
4
6

while - работает пока выполняется условие, например while True выполняется бесконечно или пока не получит break

a=0
i=0
while a<10:
i=i+1
a=a+i
print(a)

выдаст
1
3
5
9
после чего остановится