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)
