Pybites Logo

Create a multiplication table class of variable length

Level: Intermediate (score: 3)

Danny does not like rote learning (nor do we!). He is asked to remember multiplication tables of considerable size 😭

Can you give him a hand so he can focus on more interesting things again? (OK maybe HE is the one who should learn Python 😂)

Complete the MultiplicationTable class below implementing the following methods:

  • Use __init__ (constructor) to store the (x,y) coordinates and their multiplication result in a data structure (say in self._table).
  • __len__ should return the area of the table (len x* len y)
  • __str__ should give a visual representation of the table, for example a 3x3 length table should return this str:
     1 | 2 | 3
     2 | 4 | 6
     3 | 6 | 9
    
  • The calc_cell method should take a x and y coordinate and return the result multiplying them. If x/y are out of range, raise an IndexError.

Good luck and have fun!