> For the complete documentation index, see [llms.txt](https://drlilianblot.gitbook.io/introduction-to-programming-with-python/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://drlilianblot.gitbook.io/introduction-to-programming-with-python/iteration.md).

# 5 - Iteration

{% embed url="<https://www.youtube.com/watch?index=6&list=PLKb_ndRMEWN9LzbKCy4R-5YtI4GoMzCgd&v=14SkGe6DHdI>" %}

The following code repeats the same task twice:

{% code lineNumbers="true" %}

```python
word = 'Lilian' 
print(word) 
print(word)
```

{% endcode %}

If we wanted to write a script that print the same thing a thousand times, this approach would be impractical. Thankfully we can do the same thing more concisely via **iteration**.

In programming, iteration refers to the process of repeatedly executing a block of code until a certain condition is met. Iteration is often used in loops, which allow you to iterate over a sequence of values or perform a certain operation a specific number of times.

There are two main types of loops in Python: `for` loops and `while` loops.

`for` loops are used to perform a certain operation a specific number of times or to iterate over a sequence of values, such as a list, tuple, or string. The for loop is also referred to as a count-controlled loops.

To print my name a thousand times can be done concisely with a `for` statement as shown below.

{% code lineNumbers="true" %}

```python
word = 'Lilian' 
for i in range(1000): 
    print(word) 
```

{% endcode %}

This is the simplest use of the `for` statement; we will see more later.

`while` loops, on the other hand, are used to iterate until a certain condition is met. They are sometimes referred to as condition-controlled loops.

In both cases, iteration allows us to execute a block of code multiple times, which can be useful for performing repetitive tasks or iterating over a sequence of values.
