【问题标题】:Why is imaginary part of complex number negative when it is divided?为什么复数的虚部除法时为负数?
【发布时间】:2022-01-11 18:02:36
【问题描述】:
a= 6/5j
print(a)

它打印-1.2j。为什么它在 Python 中是负值?

【问题讨论】:

  • 您的问题似乎与数学有关,而不是编程。
  • 在python中,您可以通过将类型用作构造函数来更明确地了解复数的意图。 complex(real, imaginary),所以在你的情况下,我相信你打算complex(0, 6/5j)
  • 您还期待什么?
  • 哦,你的意思是(6/5)*1j而不是6/(5j)

标签: python python-3.x complex-numbers


【解决方案1】:

更多的是一道数学题,但答案是

6/(5j) = 6j/(5jj) = 6j/(-5) = -1.2j

一般来说,1/j = j/(jj) = -j

【讨论】:

    【解决方案2】:

    在 python 中,complex literal(floatnumber | digitpart) ("j" | "J"),前面有一个可选的实部。因此在

    6/5j
    

    5j 被解释为复杂的文字,这使得计算结果正确(参见其他答案)。要在你的计算中有一个“孤独”的 j,你总是需要在它前面添加一个1

    6/5*1j
    

    这确实不同于例如wolframalpha 将处理相同的输入。

    【讨论】:

      猜你喜欢
      • 2022-06-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-05
      • 2012-09-23
      • 1970-01-01
      • 2012-02-08
      • 2018-03-25
      相关资源
      最近更新 更多