




import operator as op




def 							_UpperCAmelCase  (UpperCamelCase_ : List[str]       ):
    '''simple docstring'''
    _lowerCAmelCase    :    List[str]										=      []
    _lowerCAmelCase    :    Dict										=      lambda UpperCamelCase_      ,    UpperCamelCase_       : int(x / y       )  # noqa: E731 integer division operation
    _lowerCAmelCase    :    Optional[int]										=      {
        """^""": op.pow,
        """*""": op.mul,
        """/""": div,
        """+""": op.add,
        """-""": op.sub,
    }  # operators & their respective operation

    # print table header
    print("""Symbol""".center(8       )      ,    """Action""".center(12       )      ,    """Stack"""      ,    sep=""" | """       )
    print("""-""" * (30 + len(_lowercase       ))       )

    for x in post_fix:
        if x.isdigit():  # if x in digit
            stack.append(_lowercase       )  # append x to stack
            # output in tabular format
            print(x.rjust(8       )      ,    ("""push(""" + x + """)""").ljust(12       )      ,    """,""".join(_lowercase       )      ,    sep=""" | """       )
        else:
            _lowerCAmelCase    :    Dict										=      stack.pop()  # pop stack
            # output in tabular format
            print("""""".rjust(8       )      ,    ("""pop(""" + b + """)""").ljust(12       )      ,    """,""".join(_lowercase       )      ,    sep=""" | """       )

            _lowerCAmelCase    :    Any										=      stack.pop()  # pop stack
            # output in tabular format
            print("""""".rjust(8       )      ,    ("""pop(""" + a + """)""").ljust(12       )      ,    """,""".join(_lowercase       )      ,    sep=""" | """       )

            stack.append(
                str(opr[x](int(_lowercase       )      ,    int(_lowercase       )       )       )       )  # evaluate the 2 values popped from stack & push result to stack
            # output in tabular format
            print(
                x.rjust(8       )      ,    ("""push(""" + a + x + b + """)""").ljust(12       )      ,    """,""".join(_lowercase       )      ,    sep=""" | """      ,    )

    return int(stack[0]       )


if __name__ == "__main__":
 _lowerCamelCase      :  int      						=						input("\n\nEnter a Postfix Equation (space separated) = ").split(" ")
 print("\n\tResult = ", solve(Postfix))







import pandas as pd
from matplotlib import pyplot as plt
from sklearn.linear_model import LinearRegression

# Splitting the dataset into the Training set and Test set
from sklearn.model_selection import train_test_split

# Fitting Polynomial Regression to the dataset
from sklearn.preprocessing import PolynomialFeatures

# Importing the dataset
_lowerCamelCase      :  Dict      						=						pd.read_csv(
    "https://s3.us-west-2.amazonaws.com/public.gamelab.fun/dataset/"
    "position_salaries.csv"
)
_lowerCamelCase      :  Union[str, Any]      						=						dataset.iloc[:, 1:2].values
_lowerCamelCase      :  Any      						=						dataset.iloc[:, 2].values


_lowerCamelCase						, _lowerCamelCase						, _lowerCamelCase						, _lowerCamelCase      :  Optional[int]      						=						train_test_split(X, y, test_size=0.2, random_state=0)


_lowerCamelCase      :  Optional[Any]      						=						PolynomialFeatures(degree=4)
_lowerCamelCase      :  Optional[Any]      						=						poly_reg.fit_transform(X)
_lowerCamelCase      :  Dict      						=						LinearRegression()
pol_reg.fit(X_poly, y)




def 							_UpperCAmelCase  ():
				'''simple docstring'''
				plt.scatter(UpperCamelCase_      ,    UpperCamelCase_      ,    color="""red"""       )
				plt.plot(UpperCamelCase_      ,    pol_reg.predict(poly_reg.fit_transform(UpperCamelCase_       )       )      ,    color="""blue"""       )
				plt.title("""Truth or Bluff (Linear Regression)"""       )
				plt.xlabel("""Position level"""       )
				plt.ylabel("""Salary"""       )
				plt.show()


if __name__ == "__main__":
	viz_polymonial()

	# Predicting a new result with Polymonial Regression
	pol_reg.predict(poly_reg.fit_transform([[5.5]]))
	# output should be 132148.43750003

