首页 文章

Python 3.6:复数的分层

提问于
浏览
1

我需要对一个复数进行分区,但似乎在Python 3.x中删除了复数的分区 .

这有什么变通方法吗?任何想法,将不胜感激 .

例如 .

(2 + 3i) // (complex anything) will throw an error.

3 回答

  • 1

    python 3中的复数用它们的虚部定义为 j ,而不是 i .

    你是对的,在Python 3中你不能再计算复数的分层,但如果你需要一个解决方法,你需要指定你想要它的行为方式 .

    在任何情况下,您都需要实现一个继承自 complex 的新类,并重写 __floordiv__ 方法

  • 0

    我刚刚找到了mpmath库 . 它有大量的工具,包括复杂数字的地板和模块 . 它似乎实际上包含在SymPy中 .

  • 3

    除非 (anything)(2+3j) 的倍数,否则你的答案也会很复杂,因此地板划分没有明确定义 . 您可以通过乘以 (anything).conjugate / (abs(anything)**2) 来实现除法

相关问题