First, make your life easier.
Write a
Python function[
^] that accepts a three parameters (the value to multiply, and the upper and lower bounds) and which returns a string.
Inside the function, use the parameters to create a single row: If you are passed 4, 4, and 8 then it generates this row:
4: 16 20 24 28 32
If you pass 6, 3, and 7 it returns:
18, 24, 30, 36, 42
And so on.
That's pretty easy to do - you have the code, pretty much.
Test it, and make sure it works.
Then set up your loop and call the function inside that, passing it the infor for each row in turn, and printing the returned value.
Presto! It's done.
This may help you to understand, though it's code is written in C#:
How to Write Code to Solve a Problem, A Beginner's Guide[
^]