When I was learning to program I was shown how to run the code of a program using pencil and paper.
I would write down the variables and as I read the code I would have to write down what the variables are set to.
If you do this for your code you should be able to reason out why it prints what it does.
Start with writing down start, stop, current_num, row and col.
Read the code statement by statement and update the values.
Keep track of which line of code you are running and what line of code is run next.
In this way you are the computer and its runs at your speed.
I still run code in my head this way to reason out how it works and why it works.
Thanks so much! Fully understand now. Part of my issue was a misunderstanding of what stop+=row meant. For some reason I has it in my mind stop was incrementing by 1, not by the value of row. I really appreciate it.