# Give a Try P3 # 6.1
# Categorize the numbers of list n = [10, 13, 16, 22, 9, 4 , 37] into two groups namely even and odd.
# Hint : Use groupby method of itertools module.

# Give a Try P3 # 6.2
# Write a program which traverses the current working directory recursively and displays those files ending with .py.
# Hint : Use walk method of os package.

# Give a Try P3 # 6.3
# Determine which months of the current year have five or more Sundays.
# - Hint : Explore `calendar` module.

# Give a Try P3 # 6.4
# Define two functions f1 and f2 such that,
# f1 returns a list of squares of first 20 natural numbers using list comprehension.
# f2 returns a generator that computes squares of first 20 natural numbers.
# Determine the time taken by each function to get executed 100000 times.
# Hint : Explore timeit module 

# Give a Try P3 # 6.5
# Define two functions f1 and f2 such that,
# f1 returns a list of squares of first 200000 natural numbers using list comprehension.
# f2 returns a generator that computes squares of first 200000 natural numbers.
# Perform profiling of both the functions and which portions of a function consume more time for computing.
# Hint : Make use of runctx method of cProfile module. 

