Answer:
Complete question is:
write the following decorators and apply them to a single function (applying multiple decorators to a single function):
1. The first decorator is called strong and has an inner function called wrapper. The purpose of this decorator is to add the html tags of <strong> and </strong> to the argument of the decorator. The return value of the wrapper should look like: return “<strong>” + func() + “</strong>”
2. The decorator will return the wrapper per usual.
3. The second decorator is called emphasis and has an inner function called wrapper. The purpose of this decorator is to add the html tags of <em> and </em> to the argument of the decorator similar to step 1. The return value of the wrapper should look like: return “<em>” + func() + “</em>.
4. Use the greetings() function in problem 1 as the decorated function that simply prints “Hello”.
5. Apply both decorators (by @ operator to greetings()).
6. Invoke the greetings() function and capture the result.
Code :
def strong_decorator(func):
def func_wrapper(name):
return "<strong>{0}</strong>".format(func(name))
return func_wrapper
def em_decorator(func):
def func_wrapper(name):
return "<em>{0}</em>".format(func(name))
return func_wrapper
@strong_decorator
@em_decorator
def Greetings(name):
return "{0}".format(name)
print(Greetings("Hello"))
Explanation:
Answer:
hello your question lacks some information attached below is the complete question with the required information
answer : 81.63 mm
Explanation:
settlement of the surface due to compression of the clay ( new consolidated )
= 81.63 mm
attached below is a detailed solution to the given problem
Answer:
you need more details but if you have to find the difference, its $2.00
Explanation:
8-6=2
Answer:
import numpy as np
import time
def matrixMul(m1,m2):
if m1.shape[1] == m2.shape[0]:
t1 = time.time()
r1 = np.zeros((m1.shape[0],m2.shape[1]))
for i in range(m1.shape[0]):
for j in range(m2.shape[1]):
r1[i,j] = (m1[i]*m2.transpose()[j]).sum()
t2 = time.time()
print("Native implementation: ",r1)
print("Time: ",t2-t1)
t1 = time.time()
r2 = m1.dot(m2)
t2 = time.time()
print("\nEfficient implementation: ",r2)
print("Time: ",t2-t1)
else:
print("Wrong dimensions!")
Explanation:
We define a function (matrixMul) that receive two arrays representing the two matrices to be multiplied, then we verify is the dimensions are appropriated for matrix multiplication if so we proceed with the native implementation consisting of two for-loops and prints the result of the operation and the execution time, then we proceed with the efficient implementation using .dot method then we return the result with the operation time. As you can see from the image the execution time is appreciable just for large matrices, in such a case the execution time of the efficient implementation can be 1000 times faster than the native implementation.