Как я могу позвонить следующему () в своем суммировании каждый раз для значений в суммировании, как будто я неоднократноPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как я могу позвонить следующему () в своем суммировании каждый раз для значений в суммировании, как будто я неоднократно

Сообщение Anonymous »

Я кодирую в Python и использую Sympy. Я специально использую суммирование. В своем имене я использую Next () в своей формуле, чтобы я мог каждый раз перейти к следующему значению переменной, но у меня возникают проблемы. < /P>
the Значение Next () В моем суммировании только один раз проходит 1 один раз, а затем использует то же значение для всего суммирования. Я хочу иметь возможность использовать следующее значение каждый раз в своем суммировании, как будто я сказал в Python: Next («итерабильный») Next («итерабильный») Next («итерабильный») < /p>
Код, который я использую сейчас: < /p>
from sympy import summation, Eq, symbols

x = symbols('x')

class DynamicIterator:
def __init__(self, func, a, b):
self.func = func # Function to generate values
self.counter = 0 # Keeps track of the current index
self.a = a
self.b = b
self.can_advance = True # Default to allowing automatic advancement
self.advanced = False # Flag to control when to advance

def __iter__(self):
return self

def __next__(self):
if not self.can_advance:
raise StopIteration # Stop iteration if cannot advance

value = self.func(self.counter, self.a, self.b) # Generate the value
self.counter += 1 # Increment the counter

if x != 0:
self.counter += 1

return value

def control_advance(self, can_advance):
"""Control whether the iterator can advance or not."""
self.can_advance = can_advance

# Define the function that returns the value of `l`
def generate_combinations(n, a, c):
l = 0
l += 1
return l # Only return `l`

# Create an instance of the iterator
expressions = DynamicIterator(generate_combinations, 1, 200)
# Define a lambda to get the next value of `l`
next_expr = lambda: next(expressions) + x

total = summation(next_expr(), (x, 1, 3))
print(total)
< /code>
Как вы можете видеть в переменной next_expr, где она вызывает Next (). В моем суммировании из значений 1 2 и 3 он делает только то, что я хочу для 1, а затем он остается прежним и не переходит к следующим значениям для остальных значений в суммировании. < /P>
может кто -нибудь, пожалуйста, помочь мне решить эту проблему?


Подробнее здесь: https://stackoverflow.com/questions/793 ... -the-summa
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»