Menu



Manage

Cord > Study_Algorithm 전체 다운로드
Study_Algorithm > 4/week04_01_chap03_05.py Lines 52 | 1.3 KB
다운로드

                        # week04_01_chap03_05

def print_poly(f_x):
    """
    다항식을 문자열로 출력하는 함수
    :param f_x: 정수형 계수를 원소를 가지는 리스트
    :return: 완성된 다항식 문자열
    """
    term = len(f_x) - 1
    poly_str = "f(x) = "

    for i in range(len(fx)):  # 0 ~ 3, i
        coefficient = f_x[i]

        if coefficient >= 0:
            poly_str = poly_str + "+"
        poly_str = poly_str + f"{coefficient}x^{term} "
        term = term - 1

    return poly_str


def calc_poly(x_value, f_x):
    """
    다항식 산술 연산 함수
    :param x_value: 독립 변수, 정수형
    :param f_x: 정수형 계수를 원소를 가지는 리스트
    :return: 산술 계산된 다항식 결과 값
    """
    return_value = 0
    term = len(f_x) - 1

    for i in range(len(fx)):
        coefficient = f_x[i]
        return_value = return_value + (coefficient * (x_value ** term))
        term = term - 1

    return return_value


fx = [1, 2, 0, -3, 7]  # f(x) = +1x^4 +2x^3 +0x^2 -3x^1 +7x^0
#fx = [7, -4, 0, 5]  # f(x) = +7x^3 -4x^2 +0x^1 +5x^0


if __name__ == "__main__":
    # help(print_poly)
    # help(abs)
    print(print_poly(fx))

    x = int(input("X 값 : "))
    print(calc_poly(x, fx))