带分数的复数

时间:2019-05-28 08:49:18

标签: python

所以我需要持有这样的东西:

class User < ActiveRecord::Base
  has_many :groups, through: :memberships, dependent: :destroy
end

但是python会将分数更改为浮点数,并且由于我不想使用浮点数而保留分数,是否有其他复数实现可以实现我想要的功能?还是有可能对目前的实施方式进行一些小的改动?

1 个答案:

答案 0 :(得分:1)

您可以只使用sympy

from sympy import sympify, I, re, im, expand

z = sympify(1)/3+I/3

请注意,我必须使用sympify(1),否则1/3会计算为float而不是sympy表达式。现在,您可以使用像这样的复杂数字进行计算

re(z) -> 1/3
im(z) -> 1/3
z*z= -> (1/3+?/3)**2
expand(z*z) -> (2*i)/9