【Python算法作业】解一元二次方程
# 求方程ax^2+bx+c=0的根
# 用到 math.sqrt()
import math
# solveEquation
def solveEquation(a, b, c):
print("您输入的方程是:")
print("{} * x^2 + {} * x + {} = 0 ".format(a, b, c))
# 判别式 delta
delta = b * b - 4 * a * c
x1 = -1 # 初始化 x1
x2 = -1 # 初始化 x2
flag = False # 用于判断是否有实根
# 有两个不同实根的情况 delta > 0
if (delta > 0):
# {x1->(-b-Sqrt[b^2-4 a c])/(2 a)},{x2->(-b+Sqrt[b^2-4 a c])/(2 a)
flag = True
x1 = (-b - math.sqrt(delta)) / (2 * a)
x2 = (-b + math.sqrt(delta)) / (2 * a)
if (delta == 0):
flag = True
x1 = -b / (2 * a)
x2 = x1
if (delta < 0):
flag = False
print("△={}^2 - 4*{}*{} 小于0,所以【无实数解】!".format(a, b, c))
return flag, x1, x2
if __name__ == '__main__':
a, b, c = map(float, input("求解一元二次方程【 ax^2+bx+c = 0 】 请输入3个参数 a, b, c 用空格隔开:").split())
print("您输入的参数: a = {}, b = {}, c = {}".format(a, b, c))
flag, x1, x2 = solveEquation(a, b, c)
if (flag =