关于#python#的问题,如何解决?

python练习
关于一元二次方程的求解
懂大致的方法
但不懂语法,有很好错误,

img


希望指点

用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前面需要一个运算符,然后就从求根的逻辑来看,式子好像错了。

下面是一个求一元二次方程的实现,供参考:

参考链接:


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

https://www.9321.cn/algebra/quadratic-equation.php



 
 
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("此方程有虚根")
 

img

最好把完整代码贴出来,才好给你排错