Ошибка при попытке применить условный оператор к Sympy ⇐ Python

Программы на Python
Anonymous
Ошибка при попытке применить условный оператор к Sympy

Сообщение Anonymous »

Я пытаюсь установить условный оператор в Sympy, чтобы, когда итерируемый объект не равен определенному числу (30), в этом случае он возвращал 0.
Мой код это:

Код: Выделить всё

def formula(address):

address0 = 30
logic = 3 * x

# Define the symbol and the summation range
x = symbols('x')

expr = Piecewise(
(x + logic, logic == address0),  # When x equals certain_integer, only add logic
((x + logic) - (x + logic), logic!=address0) # For all other values of x, apply full logic (x + logic - x + logic)
)

#If -x + logic only do it to the ones that aren't address0
total = summation(expr(x, 0, 089237316195423570985008687907836))
total2 = total - address0
print(f'{total}\n{total2}')
return total2
Как вы можете видеть в моем коде, в переменной expr я устанавливаю x+logic, когда логика равна 30, а когда другая логика не равна 30, она возвращает 0, поскольку она вычитает его. Код возвращает 0 независимо от того, что я делаю, и я не знаю, почему. Может ли кто-нибудь мне помочь?

Подробнее здесь: https://stackoverflow.com/questions/790 ... t-to-sympy

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