6.6. Loops With Conditions¶
In the last chapter, we learned how to use conditionals to decide which block of code to run. In this chapter, we use loops to repeat a set of statements multiple times.
You might wonder:
Can I put a loop inside an if statement?
Can I put a conditional inside a loop?
The answer to both of these questions is a definite, YES!
6.6.1. Repeating a Check¶
Run the following code samples to see how each one behaves.
Examples
In this first loop, the text displayed in the console depends on whether the
condition number%3 == 0 returns True. If number is evenly
divisible by 3, then line 5 runs. Otherwise, line 7 runs.
In the second loop, the condition char in 'aeiou' returns True if
the value of char matches any part of the string. When this happens,
num_vowels gets increased by 1 (line 6). Coding ROCKS! contains 2
lowercase vowels, so line 6 only runs 2 times. For every other character in
the string, the line gets skipped.
Try It!
How could you make the second program count both lowercase and uppercase vowels?
6.6.2. Looping if¶
We can also place a loop inside any of the code blocks of an if/elif/else
statement.
Example
1 2 3 4 5 6 7 8 9 | if condition:
for var_name in range(value):
# Loop body
elif other_condition:
for char in string:
# Loop body
else:
for step in range(20):
print("Python ROCKS!")
|
Set up this way, only one of the three loops will run:
IF
conditionisTrue, theforloop starting on line 2 runs.IF
conditionisFalseandother_conditionisTrue, then the loop starting on line 5 runs.IF
conditionandother_conditionboth returnFalse, thenPython ROCKS!gets printed 20 times by the last loop.
Placing a loop inside a conditional allows us to choose when the loop body should run.
