2023-02-14 09:16:11 +00:00
|
|
|
---
|
|
|
|
tags: [python]
|
|
|
|
---
|
|
|
|
|
|
|
|
# Loops in Python
|
|
|
|
|
|
|
|
## For
|
|
|
|
|
2024-02-02 15:58:13 +00:00
|
|
|
There are three main types of `for` loop in Python and they all use the
|
|
|
|
`for...in` clause:
|
2023-04-29 17:30:00 +01:00
|
|
|
|
|
|
|
1. Traditional `for` loop with range:
|
|
|
|
|
|
|
|
```py
|
|
|
|
for i in range(0, 5):
|
|
|
|
print(i)
|
|
|
|
```
|
|
|
|
|
|
|
|
This is equivalent to the following in JavaScript:
|
|
|
|
|
|
|
|
```js
|
|
|
|
for (let i = 0; i <= 5: i++) {
|
|
|
|
console.log(i)
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
2. `for` loop with iterable:
|
|
|
|
|
|
|
|
```py
|
|
|
|
fruits = ["apple", "banana", "cherry"]
|
2024-06-28 14:15:04 +01:00
|
|
|
for fruit in fruits:
|
2023-04-29 17:30:00 +01:00
|
|
|
print(fruit)
|
|
|
|
```
|
|
|
|
|
2024-02-02 15:58:13 +00:00
|
|
|
3. `for` loop with `enumerate()` function: Iterate over an iterable whilst also
|
|
|
|
keeping track of the index of the current element:
|
2023-04-29 17:30:00 +01:00
|
|
|
```py
|
|
|
|
for index, fruit in enumerate(fruits):
|
|
|
|
print(f"Index {index}: {fruit}")
|
|
|
|
```
|
|
|
|
|
2023-09-01 08:45:03 +01:00
|
|
|
### Loop in increments greater than 1
|
2023-02-14 09:16:11 +00:00
|
|
|
|
2023-09-01 08:45:03 +01:00
|
|
|
The following loop increments by 2 on each iteration
|
2023-02-14 09:16:11 +00:00
|
|
|
|
2023-09-01 08:45:03 +01:00
|
|
|
```py
|
2023-02-14 09:16:11 +00:00
|
|
|
for i in range(0, 10, 2):
|
|
|
|
print(i, ' ', end='')
|
|
|
|
print()
|
|
|
|
|
2023-09-01 08:45:03 +01:00
|
|
|
# 0 2 4 6 8
|
|
|
|
```
|
2023-02-14 09:16:11 +00:00
|
|
|
|
2023-09-01 08:45:03 +01:00
|
|
|
### Break and continue
|
2023-02-14 09:16:11 +00:00
|
|
|
|
2023-09-01 08:45:03 +01:00
|
|
|
#### Break
|
2023-02-14 09:16:11 +00:00
|
|
|
|
2023-09-01 08:45:03 +01:00
|
|
|
```py
|
|
|
|
num = int(input('Enter a number from 1-6 to check for: '))
|
2023-02-14 09:16:11 +00:00
|
|
|
for i in range(0, 6):
|
|
|
|
if i == num:
|
|
|
|
break
|
2023-09-01 08:45:03 +01:00
|
|
|
print(i, ' ')
|
|
|
|
```
|
2023-02-14 09:16:11 +00:00
|
|
|
|
2023-09-01 08:45:03 +01:00
|
|
|
#### Continue
|
2023-02-14 09:16:11 +00:00
|
|
|
|
2023-09-01 08:45:03 +01:00
|
|
|
```py
|
2023-02-14 09:16:11 +00:00
|
|
|
for i in range(0, 10):
|
|
|
|
print(i, ' ', end='')
|
|
|
|
if i % 2 == 1:
|
|
|
|
continue
|
|
|
|
print('hey its an even number')
|
|
|
|
print('we love even numbers')
|
|
|
|
print('Done')
|
|
|
|
|
|
|
|
"""
|
|
|
|
0 hey its an even number
|
|
|
|
we love even numbers
|
|
|
|
1 2 hey its an even number
|
|
|
|
we love even numbers
|
|
|
|
3 4 hey its an even number
|
|
|
|
we love even numbers
|
|
|
|
5 6 hey its an even number
|
|
|
|
we love even numbers
|
|
|
|
7 8 hey its an even number
|
|
|
|
we love even numbers
|
|
|
|
9 Done
|
|
|
|
"""
|
2023-09-01 08:45:03 +01:00
|
|
|
```
|
2023-02-14 09:16:11 +00:00
|
|
|
|
2023-09-01 08:45:03 +01:00
|
|
|
## While
|
|
|
|
|
|
|
|
```python
|
|
|
|
count = 0
|
|
|
|
print('Starting')
|
|
|
|
while count < 10:
|
|
|
|
print(count, '', end='')
|
|
|
|
count += 1
|
2023-02-14 09:16:11 +00:00
|
|
|
|
2023-09-01 08:45:03 +01:00
|
|
|
print() # not part of the while loop
|
|
|
|
print('Done')
|
2023-02-14 09:16:11 +00:00
|
|
|
|
|
|
|
"""
|
2023-09-01 08:45:03 +01:00
|
|
|
Starting
|
|
|
|
0 1 2 3 4 5 6 7 8 9
|
2023-02-14 09:16:11 +00:00
|
|
|
Done
|
|
|
|
"""
|
|
|
|
```
|
2023-09-01 08:45:03 +01:00
|
|
|
|
|
|
|
> There are no `do while` loops in Python
|