Чему эквивалентно на python s+=1/n?
s=1
n=1
for i in range(1,4):
s+=1/n
n=n+2
print(i,s,n)
Поясните, пожалуйста, чему эквивалентно s+=1/n?
Ожидала, что это последовательные операции s=s+1, s=s/n.
Но по факту отработки кода, выходит, что не так.
i s n
1 2.0 3
2 2.3333333333333335 5
3 2.5333333333333337 7
Ответы (2 шт):
Автор решения: Vestalt
→ Ссылка
s += 1 / n эквивалентно s = s + 1 / n. Порядок действий: сначала деление (1 / n), потом сложение.
Чтобы реализовать то, что вы задумали, нужно выполнить эти операции отдельно:
s += 1
s /= n
Автор решения: DaraHessesh
→ Ссылка
По сути s += 1/n Равнозначно s = s + (1/n)
Так что все правильно выводит.
s = 1
s = 1 + (1/1) = 2
s = 2 + (1/3) = 2.3333
s = 2.333 + (1/5) = 2.5333