Difference between revisions of "For loop in Python"

From Interaction Station Wiki
Jump to navigation Jump to search
(Created page with "------------------- source: https://www.w3schools.com/python/python_for_loops.asp")
 
 
(21 intermediate revisions by the same user not shown)
Line 1: Line 1:
 +
 +
A for loop is used for iterating over a sequence (that is either a list, a tuple, a dictionary, a set, or a string).
 +
 +
This is less like the for keyword in other programming languages, and works more like an iterator method as found in other object-orientated programming languages.
 +
 +
With the for loop we can execute a set of statements, once for each item in a list, tuple, set etc.
 +
 +
 +
 +
=loop through items or a string=
 +
 +
==Example: Print each fruit in a fruit list:==
 +
 +
'''The for loop does not require an indexing variable to set beforehand.'''
 +
 +
<syntaxhighlight lang="Python">
 +
import time
 +
 +
fruits = ["apple","mango","orange","banana", "cherry"]
 +
for x in fruits:
 +
    print(x)
 +
    time.sleep(0.5)
 +
</syntaxhighlight>
 +
 +
==Example: Looping Through a String==
 +
 +
Even strings are iterable objects, they contain a sequence of characters:
 +
 +
<syntaxhighlight lang="Python">
 +
import time
 +
 +
for x in "banana":
 +
    print(x)
 +
    time.sleep(0.5)
 +
</syntaxhighlight>
 +
 +
=loop through a set of number=
 +
 +
'''The range() Function'''
 +
To loop through a set of code a specified number of times, we can use the range() function,
 +
The range() function returns a sequence of numbers, starting from 0 by default, and increments by 1 (by default), and ends at a specified number.
 +
 +
==Example: Using the range() function:==
 +
<syntaxhighlight lang="Python">
 +
 +
import time
 +
 +
for x in range(6):
 +
    print(x)
 +
    time.sleep(0.5)
 +
</syntaxhighlight>
 +
 +
Note that range(6) is not the values of 0 to 6, but the values 0 to 5.
 +
 +
The range() function defaults to 0 as a starting value, however, it is possible to specify the starting value by adding a parameter:
 +
range(2, 6), which means values from 2 to 6 (but not including 6):
 +
 +
 +
<syntaxhighlight lang="Python">
 +
import time
 +
 +
for x in range(2, 6):
 +
    print(x)
 +
    time.sleep(0.5)
 +
</syntaxhighlight>
 +
 +
 +
The range() function defaults to increment the sequence by 1,
 +
however it is possible to specify the increment value by adding a third parameter: range(2, 30, 3):
 +
 +
==Example: Increment the sequence with 3 (default is 1):==
 +
 +
<syntaxhighlight lang="Python">
 +
import time
 +
 +
for x in range(2, 30, 3):
 +
    print(x)
 +
    time.sleep(0.5)
 +
</syntaxhighlight>
 +
 +
=extras:=
 +
 +
==Nested Loops==
 +
 +
A nested loop is a loop inside a loop.
 +
 +
 +
The "inner loop" will be executed one time for each iteration of the "outer loop":
 +
 +
Example
 +
 +
Print each adjective for every fruit:
 +
 +
<syntaxhighlight lang="Python">
 +
import time
 +
adj = ["red", "big", "tasty"]
 +
fruits = ["apple", "banana", "cherry"]
 +
 +
for x in adj:
 +
    time.sleep(1)
 +
    for y in fruits:
 +
        print(x, y)
 +
        time.sleep(1)
 +
</syntaxhighlight>
 +
 +
==The break Statement==
 +
 +
With the break statement we can stop the loop before it has looped through all the items:
 +
 +
Example: Exit the loop when x is "banana":
 +
 +
<syntaxhighlight lang="Python">
 +
import time
 +
 +
fruits = ["apple","mango", "banana", "cherry"]
 +
 +
for x in fruits:
 +
    print(x)
 +
    time.sleep(1)
 +
    if x=="banana":
 +
        print("break")
 +
        break
 +
 +
</syntaxhighlight>
 +
 +
==The continue Statement==
 +
With the continue statement we can stop the current iteration of the loop, and continue with the next:
 +
 +
Example: Do not print banana:
 +
 +
<syntaxhighlight lang="Python">
 +
import time
 +
 +
fruits = ["apple","mango","orange","banana", "cherry"]
 +
 +
for x in fruits:   
 +
    time.sleep(1)
 +
    if x=="banana":
 +
        continue
 +
    print(x)
 +
 +
 +
 +
</syntaxhighlight>
 +
 +
==The pass Statement==
 +
 +
for loops cannot be empty, but if you for some reason have a for loop with no content, put in the pass statement to avoid getting an error.
 +
Example
 +
 +
<syntaxhighlight lang="Python">
 +
for x in [0, 1, 2]:
 +
    pass
 +
</syntaxhighlight>
 +
 +
==Else in For Loop==
 +
 +
The else keyword in a for loop specifies a block of code to be executed when the loop is finished:
 +
 +
Example: Print all numbers from 0 to 5, and print a message when the loop has ended:
 +
 +
<syntaxhighlight lang="Python">
 +
import time
 +
 +
for x in range(26):
 +
    print(x)
 +
    time.sleep(0.5)
 +
else:
 +
    print("Finally finished!")
 +
    time.sleep(0.5)
 +
</syntaxhighlight>
 +
 
-------------------
 
-------------------
 
source: https://www.w3schools.com/python/python_for_loops.asp
 
source: https://www.w3schools.com/python/python_for_loops.asp

Latest revision as of 15:12, 3 September 2024

A for loop is used for iterating over a sequence (that is either a list, a tuple, a dictionary, a set, or a string).

This is less like the for keyword in other programming languages, and works more like an iterator method as found in other object-orientated programming languages.

With the for loop we can execute a set of statements, once for each item in a list, tuple, set etc.


loop through items or a string

Example: Print each fruit in a fruit list:

The for loop does not require an indexing variable to set beforehand.

import time

fruits = ["apple","mango","orange","banana", "cherry"]
for x in fruits:
    print(x)
    time.sleep(0.5)

Example: Looping Through a String

Even strings are iterable objects, they contain a sequence of characters:

import time

for x in "banana":
    print(x)
    time.sleep(0.5)

loop through a set of number

The range() Function To loop through a set of code a specified number of times, we can use the range() function, The range() function returns a sequence of numbers, starting from 0 by default, and increments by 1 (by default), and ends at a specified number.

Example: Using the range() function:

import time

for x in range(6):
    print(x)
    time.sleep(0.5)
Note that range(6) is not the values of 0 to 6, but the values 0 to 5.
The range() function defaults to 0 as a starting value, however, it is possible to specify the starting value by adding a parameter: 
range(2, 6), which means values from 2 to 6 (but not including 6):


import time

for x in range(2, 6):
    print(x)
    time.sleep(0.5)


The range() function defaults to increment the sequence by 1, 
however it is possible to specify the increment value by adding a third parameter: range(2, 30, 3):

Example: Increment the sequence with 3 (default is 1):

import time

for x in range(2, 30, 3):
    print(x)
    time.sleep(0.5)

extras:

Nested Loops

A nested loop is a loop inside a loop.


The "inner loop" will be executed one time for each iteration of the "outer loop":

Example

Print each adjective for every fruit:

import time
adj = ["red", "big", "tasty"]
fruits = ["apple", "banana", "cherry"]

for x in adj:
    time.sleep(1)
    for y in fruits:
        print(x, y)
        time.sleep(1)

The break Statement

With the break statement we can stop the loop before it has looped through all the items:

Example: Exit the loop when x is "banana":

import time

fruits = ["apple","mango", "banana", "cherry"]

for x in fruits:
    print(x)
    time.sleep(1)
    if x=="banana":
        print("break")
        break

The continue Statement

With the continue statement we can stop the current iteration of the loop, and continue with the next:

Example: Do not print banana:

import time

fruits = ["apple","mango","orange","banana", "cherry"]

for x in fruits:    
    time.sleep(1)
    if x=="banana":
        continue
    print(x)

The pass Statement

for loops cannot be empty, but if you for some reason have a for loop with no content, put in the pass statement to avoid getting an error. Example

for x in [0, 1, 2]:
    pass

Else in For Loop

The else keyword in a for loop specifies a block of code to be executed when the loop is finished:

Example: Print all numbers from 0 to 5, and print a message when the loop has ended:

import time

for x in range(26):
    print(x)
    time.sleep(0.5)
else:
    print("Finally finished!")
    time.sleep(0.5)

source: https://www.w3schools.com/python/python_for_loops.asp