首页 > 解决方案 > Python:在不指定值的情况下启动整数

问题描述

不知道为什么我在这方面找不到东西,但这是我的问题:

如何在不给它一个值的情况下初始化一个整数,以便我可以用它来求解方程。

例如,如果我指定我有一些整数 x,那么我可以写一些东西来解决关于 x 的函数。

例如,输出可能是:2x+5

前任:

# Eisenstein Prime?
# 1J is complex number i
def eisenstein(a,b):
    w = e**((2*math.pi*1J)/3)
    z=a+b*w
    a = a+b*(w**2)
    print("Eisenstein Integer as z:")
    print(z)
    print("Omega as w:")
    print(w)

这输出:

Eisenstein Integer as z:
(-0.9999999999999987+5.196152422706632j)
Omega as w:
(-0.4999999999999998+0.8660254037844387j)

我希望变量类似于上面 j 的显示方式。

标签: python

解决方案


你不能用普通的整数来做到这一点。您需要为符号数学安装一个包

python -m pip install sympy

然后使用它,

import sympy as sp

x = sp.var('x')
equation = 2*x + 5

print(sp.solve([equation], [x]))

输出:

{x: -5/2}

求解器采用列表,因为它可以处理方程组。你也可以

sp.solve(equation, x)

并得到

[-5/2]

另一个例子。

import sympy as sp

x, y = sp.var('x y')
equation = 2*x + 5*y  # Equations made this way are implicitly "= 0".

print(sp.solveset(equation, y, sp.S.Complexes))

求解y,注意输出是x

{-2*x/5}

推荐阅读