python根据方程的y求x_在Python中为某个方程求一个数

在解决实际问题之前,请注意以下几点:第一个B前面应该有一个负号

b^2不等于“b平方”;您需要b**2。在

sqrt中的等式应该是“B的平方减去4AC”;您写的是“B减去4AC”。同样,sqrt之外的B也不应该是平方的。在

二次公式有两个解,但你只显示了一个;你可以在“B平方”和平方根部分之间加上或减号。在

当二次公式告诉你取一个负数的平方根时,这意味着X没有实际值。虽然反转该值将防止错误发生,但您将得到一个无意义的结果。根据用户的数学专业知识水平,您应该显示一条错误消息,例如“不存在真正的解决方案”,或者直接打印复杂的解决方案。在from math import sqrt

a=int(input("a = "))

b=int(input("b = "))

c=int(input("c = "))

def qe(a,b,c):

"Solves the quadratic for x"

print(a,"x^2+",b,"x+",c,"=0",sep='')

try:

first_root = (-b-sqrt(b**2-(4*a*c)))/(2*a)

second_root = (-b+sqrt(b**2-(4*a*c)))/(2*a)

print("x =",first_root)

print("x =",second_root)

except ValueError:

print("No real solutions exist")

qe(a,b,c)

cmath模块允许您处理复数。特别是,它的^{}将作用于负数。在

^{pr2}$

结果:a = 1

b = 2

c = 3

1x^2+2x+3=0

No real solutions exist

或者a = 1

b = 2

c = 3

1x^2+2x+3=0

x = (-1-1.4142135623730951j)

x = (-1+1.4142135623730951j)

对于有实解的方程组,两种方法的结果都是相同的。(尽管使用cmath的格式不太好)a = 1

b = 1

c = 0

1x^2+1x+0=0

x = -1.0

x = 0.0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值