class Factor: simple_one = [] simple_two = [] compound_one = [] compound_two = [] complex_one = [] complex_two = [] complex_three = [] complex_four = [] def __init__(self, variable_name, base_list): self.variable_name = variable_name self.base_list = base_list def calculate_factors(self, factor, include_compound = False, include_complex = False): clear_factors_lists(self) for item in self.base_list: self.simple_one.append(factor / item) self.simple_two.append(factor * item) if include_compound: for item in self.base_list: self.compound_one.append(((1 + factor) ** (1 / item)) - 1) self.compound_two.append(((1 + factor) ** item) - 1) if include_complex: for item in self.base_list: self.complex_one.append(item * (((1 + factor) ** (1 / item)) - 1)) self.complex_two.append(1 / item * (((1 + factor) ** (1 / item)) - 1)) self.complex_three.append(item * (((1 + factor) ** item) - 1 )) self.complex_four.append(1 / item * (((1 + factor) ** item) - 1)) def print_factors(self, include_simple = True, include_compound = True, include_complex = True): print("Factors for %s." %(self.variable_name)) if include_simple and self.simple_one: print("Simple Factors:") print(self.simple_one) print(self.simple_two) print() if include_compound and self.compound_one: print("Compound Factors:") print(self.compound_one) print(self.compound_two) print() if include_complex and self.complex_one: print("Complex Factors:") print(self.complex_one) print(self.complex_two) print(self.complex_three) print(self.complex_four) print() def clear_factors_lists(self): self.simple_one = [] self.simple_two = [] self.compound_one = [] self.compound_two = [] self.complex_one = [] self.complex_two = [] self.complex_three = [] self.complex_four = []