Ich kodiere in Python und benutze Sympy. Ich verwende speziell Summierungen. In meiner Summation verwende ich als nächstes () in meiner Formel, damit ich jedes Mal in meiner Zusammenfassung zum nächsten Wert einer Variablen gehen kann, aber ich habe Probleme. < /P>
Die Der Wert von Next () in meiner Summation bewegt sich nur einmal 1 und verwendet dann denselben Wert für die gesamte Summe. Ich möchte in meiner Summation jedes Mal den nächsten Wert verwenden können, als ob ich in Python gesagt hätte: Weiter ("iterable") Weiter ("iterable") Weiter ("iterable") < /p>
Der Code, den ich gerade verwende, ist: < /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>
Wie Sie in Next_exPr -Variable sehen können, ruft es als nächstes () auf. In meiner Summe aus den Werten 1 2 und 3 tut es nur das, was ich für 1 will, und dann bleibt es gleich und geht nicht für die nächsten Werte für den Rest der Werte in der Summe. < /P>
Kann mir bitte jemand helfen, dieses Problem zu beheben?
Wie rufe ich in meiner Sympy-Summierung jedes Mal next() für die Werte in der Summierung auf, als würde ich sie wiederho ⇐ Python
-
- Similar Topics
- Replies
- Views
- Last post