This task does not allow any loops and so I am stuck. Can someone help out in completing this function to produce the expected outputs?

Python Language. Task 4: Determining the (inertance, damping coefficient) pairs that give, respectively, the best and worst comfort The engineering design problem is to choose good design parameters to meet our design requirements. In our case, a design has two design parameters inertance and damping coefficient. By using the discomfort_array, determine the inertance, damping coefficient) pair that gives the best comfort. For example, the pair that gives the smallest value of discomfort level in the array discomfort_array. For comparison purpose, we will also determine a poor design which we define as the design that maximises the level of discomfort, that is less than or equal to discomfort_upper_limit. Determine the (inertance, damping coefficient) pair that gives the worst comfort, that is less than or equal to discomfort_upper_limit. For example, the pair that gives the largest value of discomfort level in the array discomfort_array, that is less than or equal to discomfort_upper_limit. Once you have obtained the best design and the poor design, you need to return these four values from the following function you need to implement for his task. def optimise_qc (discomfort_array, inerter_array, damping_coefficient_array, discomfort_upper_limit): The input and output values are: Inputs: discomfort_array 2-dimentional numpy array with discomfort values for given inerter_values and damping_coefficient values (read the specs inerter_values inertance values (array of type float) damping_coefficient values damping coefficient values (array of type float) discomfort_upper_limit maximum discomfort value to calculate worst comfort (i.e. 'max_inerter' and 'max_damping_coefficient' values) Output: min_inerter and min_damping_coefficient the pair that gives the smallest value of dis max_inerter and max_damping_coefficient the pair that gives the worst value of discom is less than or equal to a given 'discomfort You should complete this task using the min and max functions, without using any loops. You can only get full marks if your solution does not use loops. If your solution requires loops, then you can only get a reduced mark. A requirement for Task 4 is that you should complete this task without using any loops. You can only get full marks if your solution does not use loops. If your solution requires a loop(s) for this task, then you can only get a reduced mark Hint: You can easily implement this function WITHOUT using a loop structure. Please read (or re-read!) lecture notes, the code examples and the labs on numpy. In particular, look for numpy functions that may help you to solve problems related to Task-4. For example, min, max, argmin, argmax, boolean indexing, boolean masking (Boolean addressing for assignment), etc. See the code examples on numpy from week-06 (click), week-07 (click) and week-08 (click). You may find the following example useful, week-08 lecture example (click) 2 A 27 import numpy as np 28 29 def optimise_qc(discomfort_array, inerter_array, damping_coefficient_array, discomfort_upper_limit): 30 A 33 34 return min_inerter, min_damping_coefficient, I max_inerter, max_damping_coefficient