eolas/zk/Loops_in_Python.md

112 lines
1.8 KiB
Markdown
Raw Permalink Normal View History

2023-02-14 09:16:11 +00:00
---
tags: [python]
---
# Loops in Python
## For
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)
```
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