Add: basic python quadratic equation solver
This commit is contained in:
parent
14ff02790c
commit
c667ec9301
1 changed files with 46 additions and 0 deletions
46
Python/pq.py
Normal file
46
Python/pq.py
Normal file
|
@ -0,0 +1,46 @@
|
|||
import math
|
||||
|
||||
|
||||
def solve_pq(p, q):
|
||||
print(f"Solving the quadratic equation: x^2 + ({p})x + ({q}) = 0")
|
||||
|
||||
# Step 1: Calculate p/2
|
||||
p_half = p / 2
|
||||
print(f"Step 1: Calculate p/2 -> p/2 = {p_half}")
|
||||
|
||||
# Step 2: Calculate (p/2)^2
|
||||
p_half_squared = p_half**2
|
||||
print(f"Step 2: Calculate (p/2)^2 -> ({p_half})^2 = {p_half_squared}")
|
||||
|
||||
# Step 3: Calculate discriminant (p/2)^2 - q
|
||||
discriminant = p_half_squared - q
|
||||
print(
|
||||
f"Step 3: Calculate the discriminant -> ({p_half_squared}) - ({q}) = {discriminant}"
|
||||
)
|
||||
|
||||
# Step 4: Check if discriminant is non-negative (real solutions exist)
|
||||
if discriminant < 0:
|
||||
print("Step 4: Discriminant is negative, no real solutions.")
|
||||
return
|
||||
|
||||
# Step 5: Calculate the square root of the discriminant
|
||||
sqrt_discriminant = math.sqrt(discriminant)
|
||||
print(
|
||||
f"Step 5: Calculate the square root of the discriminant -> sqrt({discriminant}) = {sqrt_discriminant}"
|
||||
)
|
||||
|
||||
# Step 6: Calculate the two possible solutions
|
||||
x1 = -p_half + sqrt_discriminant
|
||||
x2 = -p_half - sqrt_discriminant
|
||||
print("Step 6: Calculate the two solutions:")
|
||||
print(f"x1 = -({p_half}) + {sqrt_discriminant} = {x1}")
|
||||
print(f"x2 = -({p_half}) - {sqrt_discriminant} = {x2}")
|
||||
|
||||
# Step 7: Output the solutions
|
||||
print(f"Solutions: x1 = {x1}, x2 = {x2}")
|
||||
|
||||
|
||||
# Example usage
|
||||
p = float(input("Enter the value of p: "))
|
||||
q = float(input("Enter the value of q: "))
|
||||
solve_pq(p, q)
|
Loading…
Reference in a new issue