This problem reinforces nested loop concepts: Global vs local counters. The row counter resets, the number counter doesn't.
Row length depends on row number. range(row) gives the right count.
Building output incrementally. Collect in a list, join at the end for clean formatting.
The relationship between rows and content. Understanding this relationship is key to all pattern problems. Pattern problems are common in interviews and practice. They test your ability to translate visual patterns into loop logic.