If you want to solve this via recursion , then you have to understand some rules of recursion:
Rule no #1:
You must always have some base cases, which can be solved without recursion.
Rule no #2:
For cases that are to be solved recursively, the recursive call must always be a case that makes progress toward a base case.
Here is your solution for recursive approach:
def printMultiTable(high,low,track):
multitable=[]
if track==0:
return 0
else:
while high > low:
multitable.append(high*track)
high -= 1
print("multitable of {}".format(track))
print('--------------------------')
print(multitable[::-1])
print('--------------------------')
high=7
printMultiTable(high,low,track-1)
print(printMultiTable(7,0,6))
output:
multitable of 6
--------------------------
[6, 12, 18, 24, 30, 36, 42]
--------------------------
multitable of 5
--------------------------
[5, 10, 15, 20, 25, 30, 35]
--------------------------
multitable of 4
--------------------------
[4, 8, 12, 16, 20, 24, 28]
--------------------------
multitable of 3
--------------------------
[3, 6, 9, 12, 15, 18, 21]
--------------------------
multitable of 2
--------------------------
[2, 4, 6, 8, 10, 12, 14]
--------------------------
multitable of 1
--------------------------
[1, 2, 3, 4, 5, 6, 7]
--------------------------
None