def backward_propagate_error(network, expected): for i in reversed(range(len(network))): layer = network[i] # calculate the loss forr each layer if i != len(network)-1: ... else: # ∂L/∂a of the output layer for j in range(len(layer)): neuron = layer[j] errors.append(neuron['output'] - expected[j])