写一个Python程序:输入方程ax²+bx+c=0的系数a、b、c,求其根。提示:避免输出-0.0000这样的数
时间: 2024-10-23 18:05:04 浏览: 57
在Python中,你可以使用二次方程公式来计算给定方程`ax^2 + bx + c = 0`的根。下面是一个函数,它会接受系数a、b、c作为输入,并处理浮点数零除的情况:
```python
import cmath
def quadratic_solver(a, b, c):
# 计算判别式
delta = (b**2) - (4*a*c)
# 避免除以零错误
if abs(delta) < 1e-9:
root1 = complex(0, 0)
root2 = complex(0, 0)
else:
root1 = (-b + cmath.sqrt(delta)) / (2 * a)
root2 = (-b - cmath.sqrt(delta)) / (2 * a)
# 返回复数解,如果需要的话
return round(root1.real, 4), round(root2.real, 4)
# 示例使用
a = float(input("请输入系数a: "))
b = float(input("请输入系数b: "))
c = float(input("请输入系数c: "))
root1, root2 = quadratic_solver(a, b, c)
print(f"方程的两个实根分别是: {root1}, {root2}")
#
相关问题
编写输入一元二次方程ax²+bx+c=0的系数a,b,c分情况计算并输出一元二次方程的根
当你编写一个程序来计算一元二次方程 ax² + bx + c = 0 的根时,你需要首先考虑的是方程的判别式 Δ = b² - 4ac。根据判别式的值,有三种情况:
1. 当Δ > 0 (即 b² > 4ac)时,方程有两个不相等的实数根,可以通过求根公式来计算:
根1 = (-b - √Δ) / (2a)
2. 当Δ = 0 (即 b² = 4ac)时,方程有两个相同的实数根(也称为二重根):
根 = -b / (2a)
3. 当Δ < 0 (即 b² < 4ac),方程没有实数根,但它有两个复数根,可以通过复数形式表示:
根1、2 = [-b ± i√(4ac-b²)] / (2a),其中 i 是虚数单位。
在实际编程中,你可以创建函数接收 a、b 和 c 作为输入,然后根据上述条件判断并计算根。以下是Python的一个简单示例:
```python
import cmath
def calculate_roots(a, b, c):
discriminant = b**2 - 4*a*c
if discriminant > 0:
root1 = (-b - cmath.sqrt(discriminant)) / (2*a)
print(f"两个实数根:{root1:.2f}, {root2:.2f}")
elif discriminant == 0:
root = -b / (2*a)
print(f"一个重根:{root:.2f}")
else:
real_part = -b / (2*a)
imaginary_part = cmath.sqrt(-discriminant) / (2*a)
print(f"两个共轭复数根:{real_part:.2f} ± {imaginary_part:.2f}i")
# 调用函数并传入系数
calculate_roots(1, -3, 2)
```
Python输入一元二次方程的3个系数a、b、c,求方程ax²+bx+c=0的根
可以使用求根公式来解决这个问题:
x1 = (-b + sqrt(b^2 - 4ac)) / 2a
x2 = (-b - sqrt(b^2 - 4ac)) / 2a
其中,sqrt表示开平方,即求平方根。
Python代码如下:
import math
a = float(input("请输入a的值:"))
b = float(input("请输入b的值:"))
c = float(input("请输入c的值:"))
# 计算判别式
delta = b**2 - 4*a*c
if delta < 0:
print("方程无实数根")
elif delta == 0:
x = -b / (2*a)
print("方程有一个实数根:x = ", x)
else:
x1 = (-b + math.sqrt(delta)) / (2*a)
x2 = (-b - math.sqrt(delta)) / (2*a)
print("方程有两个实数根:x1 = ", x1, ",x2 = ", x2)
注意,由于开平方可能得到一个复数,因此需要使用math库中的sqrt函数来求平方根。另外,根据判别式的值,方程可能无实数根、有一个实数根或有两个实数根。
阅读全文
相关推荐
















