python练习
关于一元二次方程的求解
懂大致的方法
但不懂语法,有很好错误,
用python实现一元二次方程求解代码,望采纳!!!:
import math
def qiujie(a, b, c):
d= b**2 - 4*a*c
if d < 0:
return "无实根"
elif d == 0:
x = -b / (2*a)
return x
else:
x1 = (-b + math.sqrt(d)) / (2*a)
x2 = (-b - math.sqrt(d)) / (2*a)
return x1, x2
a,b,c = input('依次输入 a b c数字之间空格隔开:').split()
print(qiujie(int(a),int(b),int(c)))
单就语法来看,上面的式子那个i前面需要一个运算符,然后就从求根的逻辑来看,式子好像错了。
下面是一个求一元二次方程的实现,供参考:
参考链接:
import math
a = float(input("请输入a:"))
b = float(input("请输入b:"))
c = float(input("请输入c:"))
dt = b**2-4*a*c
# https://www.9321.cn/algebra/quadratic-equation.php
if a==0: # a为0的情况
if b!=0: # a为0,b不为0
print("x=%0.2f"%(-c/b))
else: # a为0,b也为0
print("此方程无实数根")
else :
if dt==0: # 判别式等于0
# http://m.chusan.com/zhongkao/91799.html
print("x1= x2 = %0.2f"%(-b/(2*a)))
else : # 判别式不为0
if dt >0: # 判别式大于0
# https://baijiahao.baidu.com/s?id=1722370687157957463&wfr=spider&for=pc
# https://baike.baidu.com/item/%E4%B8%80%E5%85%83%E4%BA%8C%E6%AC%A1%E6%96%B9%E7%A8%8B%E6%B1%82%E6%A0%B9%E5%85%AC%E5%BC%8F/56066624?fr=aladdin
x1 = ( -b +math.sqrt(dt))/(2*a)
x2 = ( -b -math.sqrt(dt))/(2*a)
print("x1 = %0.2f"% x1)
print("x2 = %0.2f"% x2)
else : # 判别式小于0
print("此方程有虚根")
最好把完整代码贴出来,才好给你排错