「Python条件结构」嵌套if:求一元二次方程的根

liftword6个月前 (12-13)技术文章67

功能要求

从键盘上读取一元二次方程的系数,求一元二次方程式ax2 + bx + c = 0的根,并显示在控制台。

实例代码

import math

# 从键盘上读取一元二次方程的系数a,b,c

a, b, c = eval(input("请输入一元二次方程ax^2 + bx + c = 0的系数'a,b,c':"))

if a != 0: # a不等于,表示一元二次方程

d = b * b - 4 * a * c

p = -b / (2 * a)

q = math.sqrt(abs(d)) / (2 * a)

if d > 0: # 有二个不同的实数根:[-b ± sqrt(b * b - 4 * a * c)] / (2 * a)

print("一元二次方程%.0fx^2 + %.0fx + %.0f = 0有两个实数根,x1 = %.2f,x2 = %.2f。" % (a, b, c, p + q, p - q))

elif d < 0: # 有二个不同的虚根:[-b ± sqrt( - 4 * a * c + b * b)i] / (2 * a)

print("一元二次方程%.0fx^2 + %.0fx + %.0f = 0有两个虚数根,x1 = %.2f + %.2fi,x2 = %.2f - %.2fi。" % (a, b, c, p, q, p, q))

else: # 有一个实根:-b / (2 * a)

print("一元二次方程%.0fx^2 + %.0fx + %.0f = 0有一个实数根,x1 = x2 = %.2f。" % (a, b, c, p))

else: # a = 0,一元一次方程:-c / b

print("一元一次方程%.0fx + %.0f = 0的根,x = %.2f。" % (b, c, -c / b))

运行结果

从键盘上输入“0,1,2”后,二元一次方程的系数分别为:a = 0,b = 1,c = 2,由于a = 0,所以该方程为一元一次方程,有一个实根。

从键盘上输入“1,0,-4”后,二元一次方程的系数分别为:a = 1,b = 0,c = -4,计算d = b * b - 4 * a * c = 16, p = -b / (2 * a) = 0,q = = math.sqrt(abs(d)) / (2 * a) = 2,有两个实数根x1 = 2.00,x2 = -2.00。

从键盘上输入“1,0,4”后,二元一次方程的系数分别为:a = 1,b = 0,c = 4,计算d = b * b - 4 * a * c = -16, p = -b / (2 * a) = 0,q = = math.sqrt(abs(d)) / (2 * a) = 2,有两个实数根x1 = 0 + 2.00i,x2 = 0 -2.00i。

从键盘上输入“1,2,1”后,二元一次方程的系数分别为:a = 1,b = 2,c = 1,计算d = b * b - 4 * a * c = -16, p = -b / (2 * a) = -1,q = = math.sqrt(abs(d)) / (2 * a) = 0,有两个实数根x1 = x2 = -1.00。

相关文章

Python之if语句使用

在Python编程语言中,for语句是一个非常常用的控制流语句。它用于遍历一个序列(如列表、元组、字典等),并对每个元素执行一段代码。下面我们将详细介绍Python中for语句的使用方法。1、用if语...

简单学Python——关键字7——if、elif、else

python的if、elif、else用于控制程序的执行,基本形式为:if 判断条件: 判断条件可为:逻辑、成员运算、比较运算  (缩进) 执行语句........ (当判断的条件成立时,就会执行if...

Python小技巧学起来!如何简化大量的 if…elif…else 代码?

今天在 Github 阅读EdgeDB[1]的代码,发现它在处理大量if...elif...else判断的时候,使用了一个非常巧妙的装饰器。我们来看看这个方法具体是什么样的。正好双十二快到了,假设我们...

「Python条件结构」if…elif…else成绩等级信息

功能要求由计算机对学生的成绩进行分级(补考、及格、中、良、优),其划分标准为:小于60为补考;60~70分为及格;70~80分为中;80~90分为良;90~100分为优。最终输出等级信息。从键盘上输入...