37 lines
1.2 KiB
Markdown
37 lines
1.2 KiB
Markdown
Let's break down the code step by step:
|
|
|
|
1. The function `my_function` takes an integer `n` as input.
|
|
|
|
2. The function checks if `n` is equal to 1. If it is, the function returns without doing anything.
|
|
|
|
3. If `n` is not 1, the function uses two nested for loops:
|
|
|
|
- The outer loop iterates from 1 to `n` (inclusive).
|
|
- The inner loop iterates from 1 to `n` (inclusive).
|
|
|
|
4. Inside the inner loop, it prints a single asterisk (`*`) followed by a newline (`\n`).
|
|
|
|
Now, let's analyze the time complexity using Big-O notation:
|
|
|
|
- The outer loop runs `n` times, and for each iteration, the inner loop runs `n` times.
|
|
- Therefore, the total number of iterations is `n * n`, which simplifies to `n^2`.
|
|
|
|
Since the number of operations (printing asterisks) is proportional to `n^2`, the time complexity is O(n^2).
|
|
|
|
Here's the corrected code with the additional newline character (`\n`) at the end of the inner loop:
|
|
|
|
```python
|
|
def my_function(n):
|
|
if n == 1:
|
|
return
|
|
|
|
for i in range(1,n+1):
|
|
for j in range(1, n+1):
|
|
print("*", end="")
|
|
print() # Add a newline character
|
|
|
|
my_function(5)
|
|
```
|
|
|
|
When you run this code, it will print a 5x5 grid of asterisks, each on a new line.
|