"""
Topic 04: Functions & Lambda Expressions - HARD Exercises (10)
"""
# Exercise 1: Write a recursive function to calculate the nth Fibonacci number.
# Write your code below:
# Exercise 2: Create a function that takes a list of dictionaries (e.g., student names and marks)
# and returns the name of the student with the highest marks.
# Write your code below:
# Exercise 3: Write a higher-order function 'apply_operation' that takes a function and two numbers as arguments.
# Use it to perform addition, subtraction, and multiplication using lambdas.
# Write your code below:
# Exercise 4: Create a function that validates a password string based on:
# - At least 8 characters
# - At least one uppercase letter
# - At least one number
# - Returns True or False.
# Write your code below:
# Exercise 5: Write a function that converts a decimal number to binary (don't use bin()).
# Write your code below:
# Exercise 6: Implement a basic "Calculator" function that takes (num1, num2, operation)
# and performs +, -, *, / based on the operation string.
# Write your code below:
# Exercise 7: Write a function that accepts a variable number of keyword arguments (**kwargs)
# and prints them in a formatted way.
# Write your code below:
# Exercise 8: Use map(), filter(), and reduce() (from functools) together
# to take a list of numbers, find the squares of evens, and then sum them.
# Write your code below:
# Exercise 9: Write a decorator 'log_time' that prints the execution time of any function it decorates.
# Hint: Use the 'time' module.
# Write your code below:
# Exercise 10: Write a function to check if two strings are anagrams of each other.
# Write your code below: