Чему эквивалентно на 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
→ Ссылка