<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def InputValues(self, it, nsteps=None):
 """ Returns the input values at a given iteration for solving the block outputs """

        if nsteps == None:
            nsteps = self.max_input_order
#        print(self,it)
        # Provides values in inputs values for computing at iteration it
        I = np.zeros((self.n_inputs, nsteps))
        for iv, variable in enumerate(self.inputs):
            #            print(it-self.max_input_order+1,it+1)
            #            print(variable._values[it-self.max_input_order+1:it+1])
            I[iv, :] = variable._values[it-nsteps+1:it+1]
        return I