In Q1, I asked you to use condest. The reason is to use the most efficient way to approximate the condition number.
This gives me another opportunity to say that calculation of condition numbers may be a computationally heavy operation, particularly because they involve inverses.
When the matrix is sparse, inverses are likely to be dense.
Thus, not only the procedure has high computational complexity, but also has high memory complexity.
This is the reason why matlab provides condest (to give a cheap way to approximate condition numbers).
Unfortunately, it seems that python does not have an equivalent to condest routine.
So, at least for this assignment, those who have done the assignment in python can use the usual condition number routine in python.
But please remember that good coding involves using the best functions available, and good software should offer these choices.