Как я могу увеличить цикл?

#python

#питон

Вопрос:

По какой-то причине значение y не будет увеличиваться в цикле. Я попытался использовать его внутри цикла, но тогда мне пришлось бы работать в обратном направлении, но даже тогда код работал не так, как предполагалось.

Это должно быть 1-x x^2-x^3 x^4 …xn

 def minus(r,y):  result = 0   term = 0  for _ in range(0,y, 1):  result =  term  term = term   (-r**y)   print(term)  print(f"{r}^{y} = {(r**y)}") #was checking value of y but it remians the same throughout  return result r = int(input("Enter root -gt; ")) y= int(input("Enter range -gt; ")) print(minus(r,y))  

Выход:

 Enter root -gt; 5 Enter range -gt; 4 -625 5^4 = 625 -1250 5^4 = 625 -1875 5^4 = 625 -2500 5^4 = 625 -1875  

Комментарии:

1. result = term значит result = term , вы, наверное, хотите result = term .

Ответ №1:

Вы нигде не обновляете значение y . Изменить

 def minus(r,y):  

Для

 def minus(r, max_y):  

и

 for _ in range(0,y, 1):  

Для

 for y in range(max_y   1)  

В качестве примечания, я считаю, что вы хотите (-r)**i вместо (-r**i) этого .

Комментарии:

1. Это отдельный вопрос. Вы можете отметить этот ответ как принятый, если он решил вашу первоначальную проблему, а затем опубликовать свой новый код и свою новую проблему в качестве нового вопроса.