fact_main.py

#!/usr/bin/env python3

import factorial
from factorial import *


def main():
    F = FACTORIAL(10)
    F.factorial_math()
    F.factorial_python()

    F = FACTORIAL(-1)
    F.factorial_math()
    F.factorial_python()


if __name__ == '__main__':
    main()

factorial.py

#!/usr/bin/env python3


import math


class FACTORIAL:
    def __init__(self, num):
        self.num = num

    def factorial_math(self):
        print("factorial_math")
        j = 1
        if self.num < 0:
            print("{}: You can't use a negative number".format(self.num))
            print("")

        elif self.num == 0 | self.num == 1:
            print("{}".format(j))
            print("")

        elif self.num > 0:
            for i in range(1, self.num + 1):
                j = j * i
        
        if j > 1:
            print("{}! (factorial) is: {}".format(self.num, j))
            print("")

    def factorial_python(self):
        print("factorial_python")
        if self.num < 0:
            print("{}: You can't use a negative number".format(self.num))
            print("")

        if self.num > 0:
            print("{}! (factorial) is {}".format(self.num, math.factorial(int(self.num))))
            print("")


output


factorial_math
10! (factorial) is: 3628800

factorial_python
10! (factorial) is 3628800

factorial_math
-1: You can't use a negative number

factorial_python
-1: You can't use a negative number


Process finished with exit code 0