Quick Intro to Python Loops
Tags: python, tutorial, beginners, codenewbie
Published: 2020-02-04 03:05:19

**Subscribe to my email list now at http://jauyeung.net/subscribe/**

**Follow me on Twitter at https://twitter.com/AuMayeung**

**Many more articles at https://medium.com/@hohanga**

**Even more articles at http://thewebdev.info/**

Python is a convenient language that’s often used for scripting, data science, and web development.

In this article, we’ll look at various kinds of loops that we can use in Python apps to run repeated code.

while Loop Statements
=====================

We can use the `while` loop to run code repeatedly while a condition is `True` .

It consists of the `while` keyword, a condition to evaluate, a colon, and then the code to run indented below it.

For example, we can write the following `while` loop to print a message repeatedly:

```python
x = 0  
while x < 5:  
    print('Hello.')  
    x = x + 1
```

In the code above, we have `x` set to 0. Then we use the `while` loop to print ‘Hello.’. Next, we increment `x` by 1. We do this repeatedly until `x` reaches 5.

`while` loops are useful for looping keeping the loop running until we meet a condition. It doesn’t have to have a finite, determinate amount of iterations.

For example, we can use the `while` loop until the user guesses the right number as follows:

```python
guess = 0  
while int(guess) != 5:  
  print('Guess a number')  
  guess = input()  
print('You got it')
```

In the code above, as long as `guess` doesn’t evaluate to 5 when we convert it to an integer, the `while` loop will keep running.

Once we entered the right guess, which is 5, the loop will end.

break Statements
================

The `break` keyword is used to terminate a loop before the loop ends.

For example, we can rewrite the example above, with `break` instead of the condition in the `while` loop as follows:

```python
guess = 0  
while True:  
  if int(guess) == 5:  
    break  
  print('Guess a number')  
  guess = input()  
print('You got it')
```

In the code above, we have an infinite `while` loop that has the condition to end the loop with `break` when we `int(guess)` returns 5.

The rest of the code works the same way as before.

continue Statements
===================

We can use the `continue` statement to move on to the next iteration of the loop.

For example, we can use it as follows:

```python
x = 0  
while x < 5:  
  x = x + 1  
  if x == 2:  
    continue  
  print(x)
```

The code above prints the value of `x` if it’s not 2. This is because if `x` is 2, we run `continue` to skip to the next iteration.

**Truthy and Falsy Values**
===========================

Python has the concept of truthy and falsy values. Truthy values are automatically converted to `True` when we use them where we have condition checks.

Falsy values are converted to `False` when we use them for condition checks.

0, 0.0, and `''` (the empty string) are all considered `False` , while all other values are considered `True` .

For example, we can write a program to prompt users to enter a name and won’t stop until they enter one as follows:

```python
name = ''  
while not name:  
  print('Enter your name:')  
  name = input()  
print('Your name is', name)
```

In the code above, we use `not name` to check if `name` is an empty string or not. If it is, then we keep showing `'Enter your name.'` until they enter one.

Once they did, we display the last line with the `name` .

for Loops and the range() Function
==================================

We can use the `for` loop to loop through a certain number of items.

For example, we can use the `for` loop with the `range` function to display numbers from 0 to 4 as follows:

```
for i in range(5):  
    print(i)
```

In the code above, the `range` function returns integers starting from 0 as we and increments the number as we loop up to the number passed into the `range` function minus 1.

As we can see, the `for` loop consists of the `for` keyword, a variable name, the `in` keyword, a call to the `range` function, a `colon` , and then the block of code to run in the loop.

We can also use `break` and `continue` statement inside `for` loops as we did in `while` loops.

The `range` function can take 3 arguments, where the first is the starting number and the 2nd argument is the ending number. The loop will terminate when it reaches the ending number minus 1.

The 3rd argument is the increment to increase the variable by in each iteration.

For example, we can write the following code to print all odd numbers between 1 and 10:

```python
for i in range(1, 10, 2):  
    print(i)
```

We should see:

```
1  
3  
5  
7  
9
```

printed because in our `range` function call, we passed in 1 as the starting number, 10 as the ending number, and 2 to increment `i` by 2 in each iteration.

Conclusion
==========

We can use `while` loops to repeatedly run a block of code until a condition is met. This means the loop can run an indeterminate number of iterations.

`break` is used for ending a loop before it ends. `continue` is used to skip the loop to the next iteration.

`for` loops are used for repeatedly run code a finite number of times. It’s used with the `range` function to do the finite iteration.