BobA-
If you're still confused on this, perhaps I can help clear things up a bit more for you.
I'm not sure how much of this code you do or don't understand, so I apologize if I go over things you already know.
First of all,
Larz60+ offered a great recommendation on the formatted print statement - definitely give it a shot.
This guy is a legend around here... Listen to him.
Now... On to the explanation...
You have two loops - or really, a loop nested inside of another loop.
In this instance, your inner loop (y) will run in its entirety FOR EACH iteration of the outer loop (x).
The "range" you are giving to x and y is the "range" of numbers to span - or, the number of times to loop.
The x loop will run 10 times (starting at 0 and stopping at (not including) 10).
The y loop will run 20 times (starting at 1 and stopping at (not including) 21).
So if we back up and remind ourselves that the inner loop will run in its entirety for each iteration of the outer loop, then that must mean:
For every time x runs, y will run 20 times, until x has run 10 times.
To give you an idea of the expected outcome:
First Loop -
x = 0
y = 1, y = 2, y = 3, y = 4, y = 5........ up to y = 20.
Then on to the next loop -
x = 1
y = 1, y = 2, y = 3, y = 4, y = 5........ up to y = 20.
Then on to the third loop -
x = 2
y = 1, y = 2, y = 3, y = 4, y = 5........ up to y = 20.
All the way until the last loop -
x = 9
y = 1, y = 2, y = 3, y = 4, y = 5........ up to y = 20.
Hope that was helpful!