python求一元二次方程的实根 从命令行输入系数 a、b、c 作为方程的三个系数 首先判断方程有没有实根,没有则直接输出字符串 “方程没有实根!” 若方程有实根 则打印出实根的值。
时间: 2024-11-10 17:14:31 浏览: 19
要编写一个Python函数来求解一元二次方程\( ax^2 + bx + c = 0 \)的实根,可以按照以下步骤进行:
1. 定义函数`quadratic(a, b, c)`,接收三个参数a、b和c,这些参数代表方程的系数。
```python
def quadratic(a, b, c):
"""
计算并返回一元二次方程的实根
参数:
a (float): 二次项系数
b (float): 一次项系数
c (float): 常数项
返回:
tuple(float, float): 方程的两个实根,如果无实根则返回None
"""
discriminant = b**2 - 4*a*c # 计算判别式
if discriminant < 0: # 检查是否有实根
return None # 如果判别式小于零,说明方程没有实根
else:
root1 = (-b + discriminant**0.5) / (2*a) # 根据公式计算第一个实根
root2 = (-b - discriminant**0.5) / (2*a) # 计算第二个实根
return root1, root2 # 返回实根
```
为了从命令行输入系数a、b和c,你可以创建一个简单的脚本让用户输入,然后调用这个函数:
```python
if __name__ == "__main__":
try:
a = float(input("请输入二次项系数a: "))
b = float(input("请输入一次项系数b: "))
c = float(input("请输入常数项c: "))
roots = quadratic(a, b, c)
if roots is not None:
print(f"方程 {a}x^2 + {b}x + {c} 的实根为: {roots}")
else:
print("方程没有实根!")
except ValueError:
print("输入无效,请输入数字!")
```
运行此脚本时,用户会按提示输入系数,程序会根据输入计算并显示实根,如果不存在,则显示相应的消息。
阅读全文