Bite 59. Create a multiplication table class of variable length

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!

Will you be Pythonista #40 to crack this Bite?
It takes an average of ~80 minutes to solve this Bite (submissions 5-240 min).
Pythonistas rate this Bite 5.0 on a 1-10 difficulty scale.
» Up for a challenge? πŸ’ͺ

Login and get coding
We use Python 3.7