## DEV Community is a community of 607,823 amazing developers

We're a place where coders share, stay up-to-date and grow their careers.

# Day 52 Of 100DaysOfCode: exec( ) Function in Python

This is my 52th day of #100daysof code and python. Like yesterday today also continued to learn more about algorithm. Tried to write effective algorithm for Fibonacci numbers, Greatest common devisor. Defintion of Big-O ,types of Big-O and used of Big-O from Coursera.

Here is one python code today I wrote for sorting different function in ascending order.

# Python Code

#### exec() function

exec() function is used for the dynamic execution of Python program which can either be a string or object code. If it is a string, the string is parsed as a suite of Python statements which is then executed unless a syntax error occurs and if it is an object code, it is simply executed.

exec is a built in function which allows us to run dynamic pyton code on runtime. For example,

``````exec("""
def  sum(a,b):
return a+b
""")
sum(5,4)
``````

I tried to write following code to kept the function in ascending order.

``````import numpy as np
n = 10
value = np.e
base = np.e
f1 = lambda n: 3**n
f2 = lambda n: n* (np.log(n)/np.log(2))
f3 = lambda n: np.log(n)/np.log(4)
f4 = lambda n: n
f5 = lambda n: 5**(np.log(n)/np.log(2))
f6 = lambda n:n **2
f7 = lambda n:n **0.5
f8 = lambda n:2**(2*n)

sol = {}
for i in range(1,9):
exec(f'v=f{i}(n)')
sol[f"f{i}"]=v
print(sol)
x = sol.copy()
dict(sorted(x.items(), key=lambda item: item[1]))
``````

Output of above code is,

``````{'f1': 59049, 'f2': 33.219280948873624, 'f3': 1.6609640474436813, 'f4': 10, 'f5': 209.8592395866664, 'f6': 100, 'f7': 3.1622776601683795, 'f8': 1048576}
{'f3': 1.6609640474436813,
'f7': 3.1622776601683795,
'f4': 10,
'f2': 33.219280948873624,
'f6': 100,
'f5': 209.8592395866664,
'f1': 59049,
'f8': 1048576}
``````