Python 每日一题:锻炼Python语法的运用,思维逻辑的锻炼,算法能力的培养。


题目:

   输入一个一元二次方程的系数 a, b, c,求解方程的根。

分析:

 1、一元二次方程标准形式:

          

python求解一元二次方程组 求一元二次方程的解python_算法

(a ≠ 0)

           其中:python求解一元二次方程组 求一元二次方程的解python_python_02是二次项,a 是二次项系数python求解一元二次方程组 求一元二次方程的解python_python_03是一次项;b 是一次项系数c 是常数项

2、根据一元二次方程根的判别式:

          

python求解一元二次方程组 求一元二次方程的解python_python_04

        ① 当

python求解一元二次方程组 求一元二次方程的解python_算法_05

时,方程有两个不相等的实数根;        ② 当

python求解一元二次方程组 求一元二次方程的解python_数根_06

时,方程有两个相等的实数根;        ③ 当

python求解一元二次方程组 求一元二次方程的解python_数根_07

时,方程无实数根,但有2个共轭复根

  

3、一元二次方程求根公式

           

python求解一元二次方程组 求一元二次方程的解python_Python_08

4、程序编写:

import math


def Quadratic_equation(a=1, b=1, c=1):
    if a != 0:
        print("您计算的一元二次方程为:", f"{a}x**2 + {b}x + {c}")
        d = b ** 2 - 4 * a * c
        if d > 0:
            d = math.sqrt(d)
            x1 = (-b + d) / (2 * a)
            x2 = (-b - d) / (2 * a)
            print(f'两根:x1={x1}, x2={x2}')
        elif d == 0:
            x1 = x2 = -b/ (2 * a)
            print(f'两根:x1={x1}, x2={x2}')
        else:
            print('该方程无实数解')
    else:
        print('您输入的不是一元二次方程')