Giải phương trình bậc 2 một ẩn bằng Python

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 ax^2+bx+c=0 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 ax^2+bx+c=0.

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 x_{1} =x_{2} = - \frac{b}{2a}
  • Δ > 0 => phương trình (1) có 2 nghiệm phân biệt, ta dùng công thức nghiệm sau:

x_{1} =\frac{-b+\sqrt{\triangle } }{2a}x_{2} =\frac{-b-\sqrt{\triangle } }{2a}

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ử:

  • x^2-3x+2=0 (a=1, b=-3, c=2)
  • x^2+x-6=0 (a=1, b=1, c=-6)
Thứ Tư, 02/04/2025 04:02
2,953 👨 128.460
Xác thực tài khoản!

Theo Nghị định 147/2024/ND-CP, bạn cần xác thực tài khoản trước khi sử dụng tính năng này. Chúng tôi sẽ gửi mã xác thực qua SMS hoặc Zalo tới số điện thoại mà bạn nhập dưới đây:

Số điện thoại chưa đúng định dạng!
Số điện thoại này đã được xác thực!
Bạn có thể dùng Sđt này đăng nhập tại đây!
Lỗi gửi SMS, liên hệ Admin
3 Bình luận
Sắp xếp theo
❖
  • Minh Hiếu
    Minh Hiếu

    có 1 số lỗi là denta và nhập c không cần thụt vào lề


    Thích Phản hồi 21/09/22
    • Bách Lê
      Bách Lê

      bậc 2 một ẩn chỉ cần đk a khác 0 thôi ạ ??

      Thích Phản hồi 01/11/23
      • Quy Vo thi
        Quy Vo thi

        Đoạn lệnh cuối print x1 lặp lại 2 lần là cố tình hay là lỗi vậy m

        Thích Phản hồi 06/05/23
        • MOD
          MOD

          Là nhầm đó bạn 🤣

          Thích Phản hồi 10/05/23
      Chia sẻ
      Chia sẻ FacebookChia sẻ Twitter
      Đóng