[python] 이차방정식 풀기

파이썬으로 이차방정식을 풀어보자.

놀란 점 : 파이썬은 복소수까지 기본적으로 지원한다.

#quadraticeqn.py 
# 이차방정식의 해를 구한다.
def solve_quadratic_eqn(a, b, c):
    d = (b**2) - 4 * a * c
    root_d = d ** 0.5
    x1 = (-b + root_d)/(2*a)
    x2 = (-b - root_d)/(2*a)
    return x1, x2
#end of def

########
a = complex(input("2차항의 계수를 입력하시오-> "))
b = complex(input("1차항의 계수를 입력하시오-> "))
c = complex(input("상수항을 입력하시오-> "))
x1, x2 = solve_quadratic_eqn(a,b,c)
print ("{} 또는 {} 입니다.".format(x1,x2))

쉘 또는 명령어 창에서 실행한 결과는 다음과 같다.


% python3 quadraticeqn.py 
2차항의 계수를 입력하시오-> 1
1차항의 계수를 입력하시오-> 1
상수항을 입력하시오-> 1
(-0.49999999999999994+0.8660254037844386j) 또는 (-0.5-0.8660254037844386j) 입니다.

% python3 quadraticeqn.py
2차항의 계수를 입력하시오-> 1+3j
1차항의 계수를 입력하시오-> 2+1j
상수항을 입력하시오-> 5
(-0.9439335302606269-0.7407288955208566j) 또는 (0.44393353026062693+1.2407288955208566j) 입니다.
# 계수가 복소수의 범위까지 확대되었다.