如何用Python解一元二次方程
时间: 2023-11-05 14:59:23 浏览: 80
以下是使用Python解一元二次方程的代码:
```python
import cmath
# 一元二次方程:ax^2 + bx + c = 0
a = float(input("请输入a的值:"))
b = float(input("请输入b的值:"))
c = float(input("请输入c的值:"))
# 计算判别式
d = (b**2) - (4*a*c)
# 计算解
sol1 = (-b-cmath.sqrt(d))/(2*a)
sol2 = (-b+cmath.sqrt(d))/(2*a)
# 输出解
print("解1为:{0}".format(sol1))
print("解2为:{0}".format(sol2))
```
你可以运行这段代码并输入a、b、c的值,程序将输出方程的两个解。注意,如果判别式d小于0,则会得到一个复数解。
相关问题
输入三个数用python解一元二次方程
在Python中,可以使用`cmath`模块来解决一元二次方程,因为它的`sqrt()`函数可以处理复数根的情况。这里是一个简单的示例,它接受三个输入(a、b和c),用于计算一元二次方程ax² + bx + c = 0的解:
```python
import cmath
def solve_quadratic_equation(a, b, c):
# 计算判别式
discriminant = (b**2) - (4*a*c)
# 根据判别式的值寻找解
if discriminant > 0:
root1 = (-b + cmath.sqrt(discriminant)) / (2 * a)
root2 = (-b - cmath.sqrt(discriminant)) / (2 * a)
return (root1, root2)
elif discriminant == 0:
root = -b / (2 * a)
return (root,)
else: # 复数根
real_part = -b / (2 * a)
imaginary_part = cmath.sqrt(-discriminant) / (2 * a)
return (real_part + imaginary_part * 1j, real_part - imaginary_part * 1j)
# 示例使用
a = float(input("请输入系数a: "))
b = float(input("请输入系数b: "))
c = float(input("请输入系数c: "))
solutions = solve_quadratic_equation(a, b, c)
print(f"一元二次方程的解为: {solutions}")
用Python解一元二次方程 x2-10x+16=0
可以使用Python的math库来解一元二次方程。代码如下:
```python
import math
a = 1
b = -10
c = 16
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)
```
输出结果为:
```
方程有两个实数解:x1 = 8.0 x2 = 2.0
```
阅读全文