# Python Code Example: simple pattern

This Python code snippet uses nested `for` loops to generate a pattern of numbers. The outer loop iterates `i` from 0 to 8. For each value of `i`, the inner loop iterates `j` from 0 to `i-1`, printing the value of `i` on the same line without a newline character. After the inner loop completes, the `print()` statement adds a newline, creating a new line for the next value of `i`. The result is a pattern where each line contains the number `i` repeated `i` times, starting from 1 up to 8.

## Code Example

``````for i in range(0, 9):
for j in range(0, i):
print(i, end="")
print()``````

### Output

``````1
22
333
4444
55555
666666
7777777
88888888``````

### Code Explanation

#### Outer `for` Loop

The outer `for` loop runs with the variable `i` iterating from 0 to 8 (inclusive). The `range(0, 9)` function generates a sequence of numbers starting from 0 up to, but not including, 9.

``````for i in range(0, 9):
# The rest of the code``````

Here’s what the sequence looks like: `[0, 1, 2, 3, 4, 5, 6, 7, 8]`.

#### Inner `for` Loop

The inner `for` loop runs with the variable `j` iterating from 0 to `i` (exclusive). This means for each value of `i`, the inner loop runs `i` times.

``````for j in range(0, i):
print(i, end="")``````
• For `i = 0`, the inner loop does not execute because `range(0, 0)` produces an empty sequence.
• For `i = 1`, the inner loop runs once (`j = 0`), and it prints `1`.
• For `i = 2`, the inner loop runs twice (`j = 0` and `j = 1`), and it prints `2` two times.
• And so on.

The `print(i, end="")` statement prints the value of `i` without a newline at the end (because of the `end=""` argument), so it prints on the same line.

#### `print()` Statement

After the inner loop completes, the `print()` statement executes. This statement prints a newline character, moving the cursor to the next line for the subsequent iterations of the outer loop.