编写Python程序,求解一元二次方程x2-10x+16=0。以sy1-4.py为文件名保存在sy1文件夹
时间: 2024-10-17 12:04:03 浏览: 37
编写Python程序解决一元二次方程的一般形式可以使用数学库`math`中的函数以及`cmath`(如果需要处理复数)。这里是一个简单的示例,如何计算给定方程 \( x^2 - 10x + 16 = 0 \) 的根,并将结果保存在一个名为`sy1-4.py`的文件中:
```python
# 导入必要的模块
import math
# 定义一元二次方程的系数
a = 1
b = -10
c = 16
# 计算判别式
d = (b**2) - (4 * a * c)
# 检查判别式的正负
if d > 0:
# 实数解
x1 = (-b + math.sqrt(d)) / (2 * a)
x2 = (-b - math.sqrt(d)) / (2 * a)
print(f"方程有两个实数解:x1 = {x1:.2f}, x2 = {x2:.2f}")
elif d == 0:
# 双重实数解
x = -b / (2 * a)
print(f"方程有一个实数解:x = {x:.2f}")
else: # 复数解
real_part = -b / (2 * a)
imaginary_part = math.sqrt(-d) / (2 * a)
print(f"方程有两个复数解:x1 = {real_part:.2f} + i{imaginary_part:.2f}, x2 = {real_part:.2f} - i{imaginary_part:.2f}")
# 将结果保存到文件 sy1-4.txt
with open("sy1/sy1-4.txt", "w") as file:
file.write(f"方程解:\n")
if d > 0:
file.write(f"x1 = {x1:.2f}, x2 = {x2:.2f}\n")
elif d == 0:
file.write(f"x = {x:.2f}\n")
else:
file.write(f"x1 = {real_part:.2f} + i{imaginary_part:.2f}, x2 = {real_part:.2f} - i{imaginary_part:.2f}\n")
# 相关问题:
阅读全文