Wie rufe ich in meiner Sympy-Summierung jedes Mal next() für die Werte in der Summierung auf, als würde ich sie wiederhoPython

Python-Programme
Guest
 Wie rufe ich in meiner Sympy-Summierung jedes Mal next() für die Werte in der Summierung auf, als würde ich sie wiederho

Post by Guest »

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?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post