Komplex számok esetén;
import math
import cmath
def masodfoku_egyenlet_megoldasa(a, b, c):
# Diszkriminans szamotasa
D = b**2 - 4*a*c
# Gyökök kiszamitasa komplex szamkok
gyok1 = (-b + cmath.sqrt(D)) / (2 * a)
gyok2 = (-b - cmath.sqrt(D)) / (2 * a)
return gyok1, gyok2
def main():
print("Masodfoku egyenlet megoldokeplet")
a = float(input("Adj meg az a erteket (a ? 0): "))
while a == 0:
print("Az 'a' nem lehet 0. Kerlek, adj meg egy nem nullat!")
a = float(input("Adj meg az a erteket (a ? 0): "))
b = float(input("Adj meg a b erteket: "))
c = float(input("Adj meg a c erteket: "))
gyok1, gyok2 = masodfoku_egyenlet_megoldasa(a, b, c)
print(f"\nA gyökök:")
if gyok1.imag == 0:
print(f"X1 = {gyok1.real}")
else:
print(f"X1 = {gyok1}")
if gyok2.imag == 0:
print(f"X2 = {gyok2.real}")
else:
print(f"X2 = {gyok2}")
if __name__ == "__main__":
main()
-------------
próba;
Masodfoku egyenlet megoldokeplet
Adj meg az a erteket (a ? 0): 1
Adj meg a b erteket: 2
Adj meg a c erteket: 3
A gyökök:
X1 = (-1+1.4142135623730951j)
X2 = (-1-1.4142135623730951j)
Nincsenek megjegyzések:
Megjegyzés küldése