Я кодирую в 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
Как я могу позвонить следующему () в своем суммировании каждый раз для значений в суммировании, как будто я неоднократно ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение