Difference between revisions of "For loop in Python"
(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 14: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