2026. május 29., péntek

Másodfokú egyenlet megoldása Python programmal

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