革命年 发表于 2020-7-25 22:50:29

如何实现一个复数类型跟一个整形相加

近些天在编写程序时发现一个复数类型的数和一个整型相加,老是会报错,求解决方法

Twilight6 发表于 2020-7-25 22:55:02

举个例子呗? 正常情况是不会报错的

永恒的蓝色梦想 发表于 2020-7-25 23:15:04

举个例子亲

革命年 发表于 2020-7-26 10:17:49

Twilight6 发表于 2020-7-25 22:55
举个例子呗? 正常情况是不会报错的

这是代码
def ecfc(a,b,c):
    #二次方程
    from math import sqrt
    p=b**2-4*a*c
    if p>=0:
      return (-b+sqrt(p))/a/2,(-b-sqrt(p))/a/2
    else:
      j=0+1j
      return (-b+sqrt(p*-1)*j)/a/2,(-b-sqrt(p*-1*j))/a/2
帮忙看一下哪里错了

革命年 发表于 2020-7-26 10:19:30

Twilight6 发表于 2020-7-25 22:55
举个例子呗? 正常情况是不会报错的

这是错误
print(ecfc(1,0,1))
Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
    print(ecfc(1,0,1))
File "F:\yyfc.py", line 12, in ecfc
    return (-b+sqrt(p*-1)*j)/a/2,(-b-sqrt(p*-1*j))/a/2
TypeError: can't convert complex to float

Twilight6 发表于 2020-7-26 10:37:38


math 库是 Python 提供的内置数学类函数库,不支持复数运算
页: [1]
查看完整版本: 如何实现一个复数类型跟一个整形相加