Bài viết này sẽ hướng dẫn bạn cách giải phương trình bậc hai một ẩn bằng Python, đây là phương trình mà bạn đã được học ở lớp 9. Trước khi bắt tay vào viết chương trình trên Python, chúng ta phải biết cách giải phương trình bậc 2 đã nhé:
Cách giải phương trình bậc 2 một ẩn
Giải phương trình bậc 2 là đi tìm các giá trị của x sao cho khi thay x vào phương trình thì thỏa mãn .
Bước 1: Tính Δ=b2-4ac
Bước 2: So sánh Δ với 0
- Δ < 0 => phương trình (1) vô nghiệm
- Δ = 0 => phương trình (1) có nghiệm kép
- Δ > 0 => phương trình (1) có 2 nghiệm phân biệt, ta dùng công thức nghiệm sau:
và
Giải phương trình bậc 2 một ẩn với Python
Bước 1: Cho phép người dùng nhập vào 3 số: a, b, c với điều kiện a và b ≠ 0
Bước 2: Tính Delta (Δ)
Bước 3: Theo phân tích giải phương trình bậc 2 ở trên, chúng ta có thể sử dụng công thức sau để tính toán nghiệm của phương trình bậc hai:
x = (-b ± sqrt(b^2 - 4ac)) / 2a
với sqrt()
là hàm tính căn bậc hai.
Code Python giải phương trình bậc 2 một ẩn:
import math
print("Giải phương trình bậc 2: ax2 + bx + c = 0 (a, b khác 0)")
print("Bạn đang làm bài tập Python trên QuanTriMang")
print("============")
# Nhập số a, b và kiểm tra điều kiện khác 0
a = float(input("Mời bạn nhập hệ số a: "))
while True:
if a == 0:
a = float(input("Số a phải khác 0. Mời nhập lại số a: "))
else:
break
b = float(input("Mời bạn nhập hệ số b: "))
while True:
if b == 0:
b = float(input("Số b phải khác 0. Mời nhập lại số b: "))
else:
break
# Nhập số c
c = float(input("Mời bạn nhập hệ số c: "))
# Tính Delta
delta = b**2 - 4 * a * c
# Tìm nghiệm của phương trình
if delta < 0:
print("Phương trình vô nghiệm")
elif delta == 0:
print("Phương trình có nghiệm kép x1 = x2 = ", -(b / (2 * a)) )
else:
print("Phương trình có hai nghiệm phân biệt:")
print("x1 = ", (-(b) + math.sqrt(delta))/(2*a) )
print("x2 = ", (-(b) - math.sqrt(delta))/(2*a) )
Bạn hãy thử chạy mã lệnh trên bằng công cụ Python Online của QuanTriMang và xem kết quả nhé! Một số ví dụ có thể thử:
- (a=1, b=-3, c=2)
- (a=1, b=1, c=-6)