# factorial_value = {} def factorial(n): if factorial_value.get(n) == None: result = 1 for i in range(1, n + 1): result *= i factorial_value[n] = result else: print(f'Get from cache value factorial({n})') return factorial_value[n] # ------------------------------------------------------------------------------ exchange_rates = { "USD": 1.0, "EUR": 0.861775, "GBP": 0.726763, "INR": 75.054725, "AUD": 1.333679, "CAD": 1.237816, "SGD": 1.346851, } def convert(fr, to, quontity): return round((quontity * (exchange_rates[to] / exchange_rates[fr])), ndigits=2) def main(): print(convert("USD", "AUD", 1000)) print(convert("EUR", "USD", 100)) ''' print(factorial(5)) print(factorial(3)) print(factorial(6)) print(factorial(5)) print(factorial_value) ''' if __name__ == '__main__': # main() # print(dir()) print(globals())