I've written a small program that calculates Arithmetic and Geometric Partial Sums. I'd like feedback on anything possible, since I intend on writing a cheatsheet that encapsulates all PreCalculus equations.

**partial_sum.py**

    """
    This is a program that calculates arithmetic and geometric
    partial sums
    
    """
    
    from fractions import Fraction
    
    def find_an(parsed_series):
        """
        Finds an in the passed parsed arithmetic series
    
        :param parsed_series: The series to be analyzed
    
        """
        for i, _ in enumerate(parsed_series):
            if parsed_series[i] == ".":
                return int(parsed_series[i + 1])
        return None
    
    
    def arithmetic_partial_sum(series):
        """
        Returns the partial sum of an arithmetic series
    
        Formula:
            S = n( (a1 + an) / 2 )
    
        Find an:
            an = a1 + (n - 1)d
    
        Find n:
            n = 1 + ( (an - a1) / d )
    
        :param series: Arithmetic series to solve
    
        """
    
        series = series.split("+")
    
        a1 = int(series[0])
        d = int(series[1]) - a1
        an = find_an(series)
        n = 1 + ((an - a1) / d)
        S = n * ((a1 + an) / 2)
    
        return S
    
    def geometric_partial_sum(series):
        """
        Returns the partial sum of the geometric series
    
        :param series: Geometric series to solve
    
        Formula:
            S = (a1 * (1 - (r ** n))) / (1 - r)
    
        """
    
        series = series.split("+")
    
        a1 = int(series[0])
        r = int(series[1]) / a1
        n = len(series)
        S = (a1 * (1 - (r ** n))) / (1 - r)
    
        return str(Fraction(S).limit_denominator())
    
    if __name__ == '__main__':
        A_SERIES = "3+7+11+15+.+99"
        G_SERIES = f"3+1+{1/3}+{1/9}+{1/27}+{1/81}"
        print(arithmetic_partial_sum(A_SERIES))
        print(geometric_partial_sum(G_SERIES))